[問題] group_by後能否篩選前n筆資料運算
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
效能諮詢(我想讓R 跑更快)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
我有一個資料格式test為:
name type score reviews download
1 G1 game 3 1000 5
2 G2 game 4 2000 1000
3 G3 game 4 1000 40
4 M1 music 5 500 60
5 M2 music 2 200 30
6 M3 music 3 300 40
7 M4 music 4 400 50
8 G4 game 4 500 2000
9 G5 game 2 887 700
10 M5 music 1 600 300
依照下載數排序後,我想要取各分類的前3項進行敘述統計分析,
也就是取出編號8.2.9的game,與10.5.7的music。
目前的寫法是利用dplyr的group_by,但是在取各分類的前3項遇到困難...
test %>% arrange(-download) %>% group_by(type) %>% summarise(Mean_score =
mean(score), Mean_reviews = mean(reviews), Mean_download = mean(download) %>%
arrange(-Mean_download)
這樣子就只能取全部分類各變數的平均數而已,
如果我想要加入head(3),該怎麼加入呢?
還是只能笨笨的先將各群拆成各自的資料檔...
然後我也想要藉此取出各分類的前3名,
之前若不分類的話,很好取出前3名的名單:
test %>% arrange(-download) %>% head(3) %>% select(name) %>% .$name
但如果要取出各族群各自的前3名,我又卡住了。
[關鍵字]:
dplyr, 分類
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.51.15
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1491297343.A.DC0.html
※ 編輯: bedroom0204 (36.225.51.15), 04/04/2017 17:23:17
※ 編輯: bedroom0204 (36.225.51.15), 04/04/2017 17:23:40
→
04/04 17:58, , 1F
04/04 17:58, 1F
推
04/05 16:25, , 2F
04/05 16:25, 2F
→
04/05 16:25, , 3F
04/05 16:25, 3F
→
04/05 16:26, , 4F
04/05 16:26, 4F
→
04/05 16:26, , 5F
04/05 16:26, 5F
推
04/05 16:27, , 6F
04/05 16:27, 6F
謝謝兩位回答,然後我發現...因為我下載數常常會有同樣的數值,
所以幾乎都會超過設定前n名的數量,還以為是自己哪裡寫錯了XD。
※ 編輯: bedroom0204 (219.68.113.107), 04/06/2017 01:55:23
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章