我有一个包含7行4列的数据框(df)(名为c1,c2,c3,c4):
c1 c2 c3 c4
Yes No Yes No
Yes Yes No No
No Yes No No
Yes No No No
Yes No Yes No
Yes No No No
No No Yes No
如果第1到第4列的值等于"is",我想将第5列添加到名为“预期结果”的数据框中。例如,在第1行上,我在第1列和第3列中具有"is"参数。要填充“预期结果”列,我将进行连接并将Column1名称和Column 2名称添加到结果中。
这是预期的完整结果:
c1, c3
c1, c2
c2
c1
c1, c3
c1
c3
我有以下代码行,但有些不正确:
df$Expected_Result <- colnames(df)[apply(df,1,which(LETTERS="Unfit"))]
最佳答案
使用data.table
的选项
library(data.table)
setDT(df)[, rownum:=1:.N,]
df$Expected_result <- melt(df, "rownum")[,
toString(variable[value=="Yes"]), rownum]$V1
关于r - 获取dat等于的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31945291/