我在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()))
答案 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")