R 使用选定选项的列名将列添加到数据框

R 使用选定选项的列名将列添加到数据框,r,dataframe,R,Dataframe,因此,如果我有一个如下所示的数据帧: 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 我想在dataframe中添加一个第四列,其中列名以逗号delmited形式列出,其中1是presenet 因此,对于第1行,我想要一个带有“X2,X3”的“摘要”列 我试过了 apply(df[c(1:3)], functi

因此,如果我有一个如下所示的数据帧:

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
我想在dataframe中添加一个第四列,其中列名以逗号delmited形式列出,其中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)

提前感谢您提供的任何帮助

df$summary <- apply(df, 1, function(x)paste(colnames(df)[x==1], collapse=","))
df$summary如下:

df$summary <- apply(df, 1, function(x)paste(colnames(df)[x==1], collapse=","))
df$摘要