我有一个数据帧,看起来像这样:
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))