我正在尝试将数据框中的一列拆分为多列,这些列将原始列中的值作为新列名。然后,如果在原始列中出现相应列,则在新列中将其设为 1,如果不匹配,则为 0。我意识到这不是最好的解释方式,例如:
df <- data.frame(subject = c(1:4), Location = c('A', 'A/B', 'B/C/D', 'A/B/C/D'))
# subject Location
# 1 1 A
# 2 2 A/B
# 3 3 B/C/D
# 4 4 A/B/C/D
并希望将其扩展为宽格式,例如使用 1 和 0(或 T 和 F):
# subject A B C D
# 1 1 1 0 0 0
# 2 2 1 1 0 0
# 3 3 0 1 1 1
# 4 4 1 1 1 1
我已经研究tidyr
了separate
函数和reshape2
函数,cast
但似乎对给出逻辑值很感兴趣。对此问题的任何帮助将不胜感激。谢谢你。