R 根据字符值将数据帧字符拆分为列
是否有一种方法可以根据数据帧中字符的值将数据拆分为多列,例如,我从这个数据帧开始 initialData=data.frame(attr=c('a','b','c','d'),type=c('1,2','2','3','2,3')) 最终数据是这样的:R 根据字符值将数据帧字符拆分为列,r,R,是否有一种方法可以根据数据帧中字符的值将数据拆分为多列,例如,我从这个数据帧开始 initialData=data.frame(attr=c('a','b','c','d'),type=c('1,2','2','3','2,3')) 最终数据是这样的: attr Conditions Cond1 Cond2 Cond3 1 a 1,2 TRUE TRUE FALSE 2 b 2 FALSE
attr Conditions Cond1 Cond2 Cond3
1 a 1,2 TRUE TRUE FALSE
2 b 2 FALSE TRUE FALSE
3 c 3 FALSE FALSE TRUE
4 d 2,3 FALSE TRUE TRUE
我写了一个函数,它接受一个字符,对它执行regexp,看看是否满足条件,然后返回true或false,但是我不知道如何遍历数据框中的每一行并添加到正确的列中我们可以使用
qdapTools
中的mtabulate
在使用原始数据集拆分“type”列后使用strsplit
和cbind
library(qdapTools)
out <- cbind(initialData,
mtabulate(strsplit(as.character(initialData$type), ",")) > 0)
names(out)[3:5] <- paste0("Cond", names(out)[3:5])
out
# attr type Cond1 Cond2 Cond3
#1 a 1,2 TRUE TRUE FALSE
#2 b 2 FALSE TRUE FALSE
#3 c 3 FALSE FALSE TRUE
#4 d 2,3 FALSE TRUE TRUE
库(qdapTools)
输出(0)
姓名(外)[3:5]非常感谢你,我感谢你的帮助。这就解决了问题。