R,在R中运行实验100000次

时间:2013-10-14 05:16:34

标签: r statistics analytics

我在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相同。最后,我想要一个向量,它返回a的平均值,b的平均值和c的平均值作为100000次迭代的结果。

添加信息:    我做了你的建议: 但它给了我以下信息:

> 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()))

1 个答案:

答案 0 :(得分: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")