PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
R_Language
[問題] 取樣的問題
作者:
ardodo
(米蟲)
2015-05-04 14:34:16
版上先進大家好,我有個問題想請教大家
現在我手上有筆某大專院校22個系所的學生資料(共1萬筆)
我想要在每個系所各取樣30名學生資料出來分析,請問該怎麼做?
我想到的方法是:每個系所subset一次、隨機抽30名出來存成一個物件,重覆22次
最後將上面22個物件rbind即可
但是這樣的做法很費時也沒有效率,想請問有沒有比較快的方法?
作者:
celestialgod
(天)
2015-05-04 16:03:00
Assume dat is the datasetdat %>% split(.$department)%>%lapply(function(x)x[sample(1:nrow(x), 2),]) %>% rbindlist(.)department是dat中系所的變數base::split, data.table::rbindlist,magrittr::%>%2是取樣的樣本數你也可以用dplyr group_by做rbindlist(.) 可以用do.call(rbind, .)取代
作者:
psinqoo
(零度空間)
2015-05-04 16:59:00
celestialgod 回文~這樣看很花
作者:
celestialgod
(天)
2015-05-04 18:01:00
不想要因此再開一篇文章QQ才兩行程式而已
作者:
gsuper
(Logit(odds))
2015-05-13 11:33:00
用 tapply() 和 sample() 找出大矩陣的 index 就好tapply(1:10000,groupFactor,funciton(s){sample(s,30)})
作者:
celestialgod
(天)
2015-05-13 11:36:00
樓上,split可以接根據變數做切割,會方便很多
作者:
gsuper
(Logit(odds))
2015-05-13 11:36:00
然後: 大矩陣[index,]
作者:
gsuper
(Logit(odds))
2015-05-13 11:39:00
Mm....split 也行sapply(split(1:6,c(1,1,1,2,2,2)),sample,2) 這個感覺
繼續閱讀
Re: [問題]htmlParse
celestialgod
[問題]htmlParse
sorder
Re: [問題] 多欄資料迴圈處理
Wush978
[問題] 多欄資料迴圈處理
sinclairJ
[問題] 讓 shiny 發出聲音
psinqoo
[問題] 如何取代掉<U+00A0>這種字串
tytony
[問題]用getURL抓台股代碼 encoding問題
sorder
關於自訂函數
lofu
[問題] 電腦跑不動問題...
sinclairJ
Re: [問題] 合併類別變數的count (table)
celestialgod
Links
booklink
Contact Us: admin [ a t ] ucptt.com