推 celestialgod: 沒想過do可以這樣用!! 10/06 09:03
推 MADNUG: 實用! 另外想請教一下 10/06 21:08
→ MADNUG: group_by之後,do(data.frame(sum = sum(.$Petal.Width))) 10/06 21:10
→ MADNUG: 這裡的sum必須配.$Petal.Width,但如果是 10/06 21:12
→ MADNUG: summarise(sum = sum(Petal.Width)),則可以省略.$呢? 10/06 21:13
推 carl090105: 若是想要省掉.$的話data.frame前方加上with(data = ., 10/06 21:25
→ carl090105: 最近剛剛好有用到這種寫法 10/06 21:26
→ celestialgod: with配起來好不搭XDD 10/07 00:07
→ yylee25: 推 10/07 09:38
> -------------------------------------------------------------------------- <
作者: celestialgod (天) 看板: R_Language
標題: Re: [分享] dplyr::group_by的進階應用
時間: Wed Oct 7 00:42:13 2015
還記得之前Hadley發的purrr嗎?
裡面的function也可以協助完成這種指令
library(data.table)
library(dplyr)
library(purrr)
library(magrittr)
library(binom)
N = 200
DT = data.table(廣告 = paste0("廣告", sample(LETTERS[1:4], N, TRUE)),
網站 = paste0("網站", sample(LETTERS[1:4], N, TRUE)),
點擊數 = sample(1:20, N, TRUE))
# W大的do + group_by
filter(DT, 網站 == "網站A") %>%
group_by(廣告) %>%
do(binom.confint(sum(.$點擊), length(.$點擊), methods = "exact"))
# purrr的map
filter(DT, 網站 == "網站A") %>% split(.$廣告) %>%
map(~binom.confint(sum(.$點擊), length(.$點擊), methods = "exact")) %>%
bind_rows
※ 引述《Wush978 (拒看低質媒體)》之銘言:
: [關鍵字]: R, dplyr, data manipulation
: [出處]: https://wush.ghost.io/dplyr_group_by/
: [重點摘要]:
: 一個能更有彈性的使用dplyr::group_by做資料整理的小撇步:
: dplyr::do
: 內文中會簡單介紹dplyr::do的運作。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.154.163
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1444149736.A.CED.html
推 Godkin: 10/07 02:05
推 yylee25: 推 10/07 09:38
推 criky: 先推 10/07 17:01