为了账号安全,请及时绑定邮箱和手机立即绑定

模拟字符列并查找唯一值

模拟字符列并查找唯一值

小怪兽爱吃肉 2019-11-04 13:15:23
我有一个具有以下结构的数据框test <- data.frame(col = c('a; ff; cc; rr;', 'rr; a; cc; e;'))现在,我想从中创建一个数据框,其中包含测试数据框中每个唯一值的命名列。唯一值是以“;”结尾的值 字符,并以空格开头,不包括空格。然后,对于该列中的每一行,我希望用1或0填充虚拟列。如下所示data.frame(a = c(1,1), ff = c(1,0), cc = c(1,1), rr = c(1,0), e = c(0,1))  a ff cc rr e1 1  1  1  1 02 1  0  1  1 1我尝试使用for循环和该列中的唯一值创建df,但情况变得一团糟。我有一个向量,其中包含列的唯一值。问题是如何创建1和0。我尝试了一些mutate_all()功能,grep()但是没有用。
查看完整描述

3 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

我会用splitstackshape和mtabulate从qdapTools包装中得到一个衬里,即


library(splitstackshape)

library(qdapTools)


mtabulate(as.data.frame(t(cSplit(test, 'col', sep = ';', 'wide'))))

#   a cc ff rr e

#V1 1  1  1  1 0

#V2 1  1  0  1 1

它也可以填满,splitstackshape例如@ A5C1D2H2I1M1N2O1R2T1在评论中提到的内容,


cSplit_e(test, "col", ";", mode = "binary", type = "character", fill = 0)


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 532 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信