如何按随机顺序拆分逗号分隔的值,并为R中的每个唯一值创建变量



我有一个数据帧,看起来像这样:

ID   Tags
------------
1    a,b,c
2    d,a,e
3    e,a

我正在努力实现这样的目标:

ID   Tag.a  Tag.b   Tag.c   Tag.d   Tag.e
-----------------------------------------
1     1       1       1       0       0
2     1       0       0       1       1
3     1       0       0       0       1   

我尝试了tidyverse的独立功能,但我不知道如何处理标签的随机顺序。。。我对R还比较陌生,所以我真的很感激能在这方面得到一些帮助。非常感谢!

我们可以使用cSplit_e

library(splitstackshape)
cSplit_e(df1, "Tags", type = "character", sep=",", fill = 0, drop = TRUE)
#   ID Tags_a Tags_b Tags_c Tags_d Tags_e
#1:  1      1      1      1      0      0
#2:  2      1      0      0      1      1
#3:  3      1      0      0      0      1

数据

df1 <- structure(list(ID = 1:3, Tags = c("a,b,c", "d,a,e", "e,a")), 
class = "data.frame", row.names = c(NA, 
-3L))

相关内容

  • 没有找到相关文章