2013-05-15 66 views
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 

我想一個fouth列添加到數據框用逗號delmited名單列名稱,其中1是presenet。

因此,對於第1行,我想用

我已經試過

apply(df[c(1:3)], function(x) { 
    if (x == 1) 
    { 
     df$summary = paste(df$summary, names(x), sep = ",") 
    } 
}) 

「X2,X3」一「摘要」列,但我覺得我不理解(x)的函數(x)的

預先感謝您的任何幫助

回答

3

像這樣:

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

+1擊敗了我。 –

+0

這工作,非常感謝你! – user2386854