gpt4 book ai didi

r - 将 DataFrame 中的分隔数据解析为 R 中的单独列

转载 作者:行者123 更新时间:2023-12-04 10:33:07 24 4
gpt4 key购买 nike

我有一个看起来像这样的数据框

A  B  C
1 3 X1=7;X2=8;X3=9
2 4 X1=10;X2=11;X3=12
5 6 X1=13;X2=14

我想将 C 列解析为单独的列...
A  B  X1  X2  X3
1 3 7 8 9
2 4 10 11 12
5 6 13 14 NA

如何在 R 中做到这一点?

最佳答案

My cSplit function使解决此类问题变得有趣。这是在行动:

## Load some packages
library(data.table)
library(devtools) ## Just for source_gist, really
library(reshape2)

## Load `cSplit`
source_gist("https://gist.github.com/mrdwab/11380733")

首先,拆分您的值并创建一个“长”数据集:
ddL <- cSplit(cSplit(dd, "C", ";", "long"), "C", "=")
ddL
# A B C_1 C_2
# 1: 1 3 X1 7
# 2: 1 3 X2 8
# 3: 1 3 X3 9
# 4: 2 4 X1 10
# 5: 2 4 X2 11
# 6: 2 4 X3 12
# 7: 5 6 X1 13
# 8: 5 6 X2 14

接下来,使用 dcast.data.table (或只是 dcast )从“长”到“宽”:
dcast.data.table(ddL, A + B ~ C_1, value.var="C_2")
# A B X1 X2 X3
# 1: 1 3 7 8 9
# 2: 2 4 10 11 12
# 3: 5 6 13 14 NA

关于r - 将 DataFrame 中的分隔数据解析为 R 中的单独列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24151625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com