作者zxas10143 (~无言以对~)
看板R_Language
标题抽样问题
时间Tue Aug 11 23:17:50 2015
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
版上高手晚安
想跟各位请教一个单纯的抽样问题
我想从一个资料中一次抽出5个个案,共抽取100次
想像如下:
x y
1 2
2 40
1 23
4 20
5 10
. .
. .
. .
亦即,虽然一次是抽出5个并抽取100次,但我仍希望他是以向下叠加的方式堆叠
我的语法是:
boot=matrix(replicate(100,sample_n(as,size=5,replace=T)))
单纯抽一次的话是没问题,不过大於1次後就会产生如下
v1
x.1 c(...)
y.1 c(...)
x.2 c(...)
y.2 c(...)
请问我该如何解决这个问题呢?
(我有嚐试以矩阵的方式在其他软体抽出
https://gist.github.com/zxas10143/6494b24d80d9da44096f
不过是用先把样本放大的方式,再用类似agreegate的方法缩回来
但这种方法比较偏向是硬解,想从R这找寻比较快速的方法)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.138.93.230
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1439306275.A.E53.html
1F:→ zxas10143: 我知道问题是我加了MATRIX然後把他们挤在同一个栏位中 08/11 23:19
2F:→ zxas10143: 不过这是简单的脑袋所想出来最接近的方法了 08/11 23:20
3F:→ celestialgod: sample_n是啥 08/11 23:22
4F:→ celestialgod: x是顺序?y是抽出的档案? 08/11 23:23
5F:→ celestialgod: 我猜replicate加上 simplify=FALSE 08/11 23:24
6F:→ celestialgod: matrix(改成do.call(replicate(...), rbind)就好了 08/11 23:24
7F:→ celestialgod: 上面放反了do.call(rbind, replicate(...))才对 08/11 23:26
10F:→ zxas10143: 这是sample_n的说明,C大的方法我来试试 08/11 23:36
11F:→ celestialgod: 原来是dplyr的函数,抱歉,我没用过,哈哈哈 08/11 23:39
12F:→ andrew43: 无法观看原始码;看不懂你的问题。 08/12 05:20