Re: [問題] aggregation on list of data frames
※ 引述《braveht (衝吧衝吧)》之銘言:
: 標題: [問題] aggregation on list of data frames
: 時間: Sun Feb 1 16:01:15 2015
:
:
: [問題類型]:
:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
:
:
: [軟體熟悉度]:
: 入門(寫過其他程式,只是對語法不熟悉)
:
: [問題敘述]:
:
: 有個 list of data frames,
: 想用 row name 當做 key 來 aggregate 多個 data frame
:
:
: [程式範例]:
:
: l = list()
: l[[1]] = data.frame(row.names=c('a','b','c','d'), x=c(1,2,3,4))
: l[[2]] = data.frame(row.names=c('d','c','b','a'), x=c(1,2,3,4))
:
: 希望可以得到所有 data frame 的 aggregation 結果,如:平均
:
: mean(x)
: a 2.5
: b 2.5
: c 2.5
: d 2.5
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.193.132
: ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1422777684.A.64B.html
: ※ 編輯: braveht (1.169.193.132), 02/01/2015 16:02:30
: → obarisk: l %>% do.call(cbind) %>% apply(1, mean) 02/01 17:27
: → obarisk: 還是檢查一下cbind有沒有依照row name比較好 02/01 17:28
: → Wush978: 應該是do.call(rbind) ? 是嗎? 02/01 20:00
似乎這樣寫可以得到結果
aggregate(x ~ name,
do.call(rbind,
lapply(l,
function(x) { x$name = row.names(x); x }
)
),
mean)
不知道有沒有更簡潔的作法?
另外請問一下, %>% 的用法是?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.193.132
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1422798732.A.531.html
→
02/01 22:40, , 1F
02/01 22:40, 1F
→
02/01 22:42, , 2F
02/01 22:42, 2F
→
02/01 22:43, , 3F
02/01 22:43, 3F
→
02/01 22:43, , 4F
02/01 22:43, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章