2013-01-21 37 views
-4

我有一個數據集,我試圖在列中添加。例如,假設有50行和100列。對於每一行我想通過特定的列(不是全部)並添加結果。跨數據集添加

感謝您的幫助!

回答

2

apply(df[,c(1,5,10,11,15)],1,sum)將添加列1,5,10,11,和15

+0

非常感謝您的幫助!如果我想顯示一個新的輸出結果,在一列中添加第1,5,10,11和15列......然後在下一列添加3,6和7.這可能嗎? – user1995353

+0

只要做到這一點(或者使用rowsums函數,這個函數作爲迪文筆記通常更快)兩次,然後將結果與'cbind' –

+0

'cbind(rowSums(DF [,C(1,5,10,11,15)]),rowSums(DF [,C(3,6,7)]))' –

2

rowSums通常比apply(dat, 1, sum)更快。此外,他們都可能需要有一個額外的參數來防止NA值破壞結果。

rowSums(dat[ , cols_to_sum] , na.rm=TRUE) 

如果你想有列的不規則的選擇,即從不同行的不同列,那麼那也是可能的,但你需要澄清的問題。