2

作为实验,我在 r 中生成了以下值:

>  q<- matrix(rbinom(10*1000,1,0.5),ncol=10)
>  for( i in 1:10){
+  a=a+q[1,i]
+ }
> a<-a/10
> 
> k<-sample(1:1000,1)
> b<-0
> for(i in 1:10){
+ b=b+q[k,i]
+ }
> b<-b/10
> 
> c<-rowMeans(q)
> c<-min(q)

所以,我想要的是重复实验 100000 次。例如,生成矩阵 q 100000 次,与 a,b 和 c 相同。最后,我想要一个向量,它作为 100000 次迭代的结果返回 a 的平均值、b 的平均值和 c 的平均值。

添加信息:我已经完成了您的建议:但它给了我以下信息:

> means<-rowMeans(replicate(100000,wrapper))
Error in rowMeans(replicate(1e+05, wrapper)) : 
  'x' must be an array of at least two dimensions

上一版:这只是()的问题,我的意思是,它的工作方式如下:

> means<-rowMeans(replicate(100000,wrapper()))
4

1 回答 1

5

您正在寻找以下replicate功能:

# Wrap your code above into a function that returns a, b, and c
wrapper <- function() {
  # Your code goes here
  return(c(a,b,c))
}

means <- rowMeans(replicate(100000, wrapper()))
names(means) <- c("a", "b", "c")
于 2013-10-14T05:28:22.220 回答