0

因此,如果我有如下数据框:

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 = ",")
    }
 })

但我想我不理解 function(x) 中的 (x)

预先感谢您的任何帮助

4

1 回答 1

3

像这样:

df$summary <- apply(df, 1, function(x)paste(colnames(df)[x==1], collapse=","))
于 2013-05-15T17:25:22.637 回答