我有一个专栏f
在我的数据框中,我想根据该列中的值扩展到多个列。例如:
df <- structure(list(f = c(NA, "18,17,10", "12,8", "17,11,6", "18",
"12", "12", NA, "17,11", "12")), .Names = "f", row.names = c(NA,
10L), class = "data.frame")
df
# f
# 1 <NA>
# 2 18,17,10
# 3 12,8
# 4 17,11,6
# 5 18
# 6 12
# 7 12
# 8 <NA>
# 9 17,11
# 10 12
我将如何拆分列f
分成多列,指示行中的数字。我对这样的事情感兴趣:
6 8 10 11 12 17 18
1 0 0 0 0 0 0 0
2 0 0 1 0 0 1 1
3 0 1 0 0 1 0 0
4 1 0 0 1 0 1 0
5 0 0 0 0 0 0 1
6 0 0 0 0 1 0 0
7 0 0 0 0 1 0 0
8 0 0 0 0 0 0 0
9 0 0 0 1 0 1 0
10 0 0 0 0 1 0 0
我想我可以用unique
on the f
列根据不同的数字创建单独的列,然后执行grepl
确定特定数字是否在列中f
但我想知道是否有更好的方法。类似的东西spread
or separate
in the tidyr
包裹。