小编Bra*_*rad的帖子

如果为真,则将一列拆分为多个R并提供逻辑值

我试图将数据框中的一列拆分为多个列,这些列将原始列中的值保存为新列名.然后,如果原始中的相应列出现,则在新列中为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
Run Code Online (Sandbox Code Playgroud)

并希望将其扩展为宽格式,例如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  
Run Code Online (Sandbox Code Playgroud)

我已经调查tidyrseparate功能,reshape2cast功能,但似乎越来越挂了给逻辑值.任何有关该问题的帮助将不胜感激.谢谢.

r strsplit reshape reshape2 tidyr

3
推荐指数
1
解决办法
434
查看次数

标签 统计

r ×1

reshape ×1

reshape2 ×1

strsplit ×1

tidyr ×1