1
我想將我的熊貓DataFrame分成組,然後在每個組塊上運行一個複雜的功能。複雜函數爲每個塊返回一個DataFrame,其中包含任意數量和名稱的列以及任意數量的行。我希望這些結果DataFrame在操作後合併。在R I是能夠與結果是如何做R dplyr的做熊貓?
Source: local data frame [15 x 5]
Groups: g [2]
g c1 c2 res type
<chr> <dbl> <dbl> <dbl> <fctr>
1 a 1 6 6.0000000 mult
2 a 2 7 14.0000000 add
3 a 1 6 7.0000000 div
4 a 2 7 9.0000000 mult
5 a 1 6 0.1666667 add
6 a 2 7 0.2857143 div
7 b 3 8 24.0000000 mult
8 b 4 9 36.0000000 add
9 b 5 10 50.0000000 div
10 b 3 8 11.0000000 mult
11 b 4 9 13.0000000 add
12 b 5 10 15.0000000 div
13 b 3 8 0.3750000 mult
14 b 4 9 0.4444444 add
15 b 5 10 0.5000000 div
這與
library(tibble)
library(dplyr)
df = tribble(
~g, ~c1, ~c2,
"a", 1, 6,
"a", 2, 7,
"b", 3, 8,
"b", 4, 9,
"b", 5, 10
)
myfct <- function(x, y){
data.frame(c1 = x,
c2 = y,
res = c(x * y, x + y, x/y),
type = c('mult', 'add', 'div'))
}
df %>% group_by(g) %>% do(myfct(.$c1, .$c2))
做到這一點 - 當然 - 僅僅是一個例子。
好吧,我認爲這是朝着正確方向邁出的一步,但我再也看不到groupby專欄了。我們可以拿回來嗎? – Make42
查看編輯答案。 – jezrael