所以,如果我有如下数据框:
df = data.frame(cbind(c(0,0,1,0), c(1,0,0,1), c(1,1,0,0)))
df
X1 X2 X3
1 0 1 1
2 0 0 1
3 1 0 0
4 0 1 0
我想在数据框中添加一个带有列名称的逗号列表列表,其中1是presenet。
因此,对于第1行,我想要一个"摘要"列" X2,X3"
我试过了
apply(df[c(1:3)], function(x) {
if (x == 1)
{
df$summary = paste(df$summary, names(x), sep = ",")
}
})
但我认为我不理解函数(x)中的(x)
提前感谢您的任何帮助
答案 0 :(得分:3)
像这样:
df$summary <- apply(df, 1, function(x)paste(colnames(df)[x==1], collapse=","))