R 根据字符值将数据帧字符拆分为列

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

是否有一种方法可以根据数据帧中字符的值将数据拆分为多列,例如,我从这个数据帧开始

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   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]非常感谢你,我感谢你的帮助。这就解决了问题。