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