-4
A
回答
3
使用dplyr
和tidyr
:
DF <- data.frame(ID = 1:3,
A = c(0, 1, 1),
B = c(1, 0, 0),
C = c(0, 0, 0),
D = c(1, 0, 1),
E = c(0, 1, 0))
library(dplyr)
library(tidyr)
out1 <-
gather(DF, letter, bit, A:E) %>%
filter(bit == 1) %>%
arrange(ID, letter)
out2 <-
out1 %>%
group_by(ID) %>%
summarise(output = paste0(letter, collapse = ","))
+0
感谢您的帮助。它的作用像魅力 – skw1990
相关问题
- 1. 重命名列重塑中的R
- 2. R data.table重塑数据
- 3. 重塑R中的数据帧
- 4. 重塑猪的数据 - 将行值更改为列名称
- 5. 重塑一列数据帧分成两列中的R
- 6. 重塑中的R
- 7. 在R中重塑一个数据帧
- 8. 没有idvar重塑数据帧 - R的
- 9. 重塑数据框以将因子转换为R中的列
- 10. 使用数据框标题/名称重命名列名称
- 11. 重塑数据帧,使一列中的观察值为列名称,相应的列为其中的值
- 12. 使用其数据框名称重命名列表中的数据框列
- 13. R数据帧压扁/重塑
- 14. 重塑数据框在R(融化?)
- 15. 重塑数据帧(有R或Python)
- 16. R中的重塑矩阵
- 17. 根据唯一值的数量在R中重塑数据帧
- 18. 如何根据使用R的组名称添加列数据?
- 19. 重塑数据
- 20. 在使用pivot_table后重塑/合并Pandas数据框中的列
- 21. R +重塑:data.frame的列方差
- 22. R中重复列表名称
- 23. R:从广角重塑数据帧基于化合物列名长格式
- 24. 使用对象名称作为R中的列表名称
- 25. 重塑一个数据帧中的R与非数值
- 26. 使用重塑()函数中的R - 从广角到长
- 27. 重塑多列的熊猫数据帧
- 28. 的Python - 重组数据帧,将列名于行,重塑数据帧
- 29. R - 使用向量列表中的名称的子集数据帧列
- 30. 重塑数据帧
尝试'cbidn(DF1 [1],OUTPUT =申请(DF1 [-1],函数(X)的toString(X [X = 0])))' – akrun
@akrun,我不确定你打算在这里。我无法让你的代码工作。如果你的意思是'lapply'或'apply'(如果'apply'你错过了'MARGIN'的参数),我不清楚,并且我无法获得所需的输出,并且这些选项有任何明显的排列。 (也,你拼错'cbind') – Benjamin
我有一些错别字,你说得对。我的意思是'cbind(DF [1],OUTPUT = apply(DF [-1],1,FUN = function(x)toString(names(x)[x!= 0])))' – akrun