全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2265 3
2009-03-17
一组数据(名称:re):
34    37    68    47    77    73
79    73    91    76    70    99
85    25    104    84    42    56
106    23    80    99    75    107
101    96    81    90    97    89
98    91    51    37    73    101
81    64    82    100    25    86
97    19    83    97    50    95
...
...
每行分别做bootstrap抽出6个值,进行10000次,得到每行均值的检验p值。
for ( i in 1:nrow(re))
{
  x<-as.numeric(re[i,])
  for(j in 1:10000)
    {
    data=sample(x,6,replace=TRUE,prob=NULL)
    meansamp=mean(data)
    {
    meanbootsamp[j]=meansamp
    }
    }
   pboot <- length(which(meanbootsamp>=mean(x)))/1000
}


运行后,结果有问题,请帮忙看看。
多谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-3-17 20:28:00
具体是什么问题呢? 最后一行总的抽样次数1000应该是10000吧?
另外,
meansamp=mean(data)
    {
    meanbootsamp[j]=meansamp
    }

明显有错。
需事先定义 meanbootsamp向量,也用不着最里层的{}啊!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-3-17 21:23:00
哦,最后1000是笔误。
在学习抽样理论,网上找了一个R文件,就照葫芦画瓢,没画好。

re<-read.delim(file="re.txt")
meanbootsamp<-rep(NA,nrow(re))
for ( i in 1:nrow(re)){
x<-as.numeric(re[i,])
for(j in 1:10000){
    data=sample(x,6,replace=TRUE,prob=NULL)
    meansamp=mean(data)
    meanbootsamp[j]=meansamp
    }
    pboot <- length(which(meanbootsamp[j]>=mean(x)))/10000
    }
对循环还是有点晕,麻烦帮看一下,对meanbootsamp和pboot下标的定义好像有点问题。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-3-17 22:40:00
你定义了meanbootsamp向量,pboot向量也要事先定义啊!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群