第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按多列分組并匯總其他多列

按多列分組并匯總其他多列

小唯快跑啊 2019-09-03 19:48:14
我有一個包含大約200列的數(shù)據(jù)框,其中我想要將表格分組前10個左右,這些是因子并將其余列相加。我有我要分組的所有列名列表以及我想要聚合的所有列的列表。我正在尋找的輸出格式需要是相同數(shù)量的cols的相同數(shù)據(jù)幀,只是組合在一起。有沒有使用包解決方案data.table,plyr或任何其他?
查看完整描述

3 回答

?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗 獲得超3個贊

該data.table的方法是:


DT[, lapply(.SD,sum), by=list(col1,col2,col3,...)]

要么


DT[, lapply(.SD,sum), by=colnames(DT)[1:10]]

其中.SD是(D)ata的(S)ubset,不包括組列。(旁白:如果你需要一般性地引用組列,它們就在.BY。)


查看完整回答
反對 回復(fù) 2019-09-03
?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊

在基地R這將是......


aggregate( as.matrix(df[,11:200]), as.list(df[,1:10]), FUN = sum)

編輯:自從我寫這篇文章以來,聚合函數(shù)已經(jīng)走了很長的路。以上鑄件都不是必需的。


aggregate( df[,11:200], df[,1:10], FUN = sum )

有很多方法可以寫這個。假設(shè)前10個列a1通過a10I 命名,如下所示,即使它很詳細(xì)。


aggregate(. ~ a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10, data = dat, FUN = sum)

(您可以使用粘貼來構(gòu)建公式并使用formula)


查看完整回答
反對 回復(fù) 2019-09-03
  • 3 回答
  • 0 關(guān)注
  • 768 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號