首页 > 解决方案 > 有没有办法在 R 中复制不同样本大小的函数?

问题描述

我想为不同的样本量模拟这个函数。澄清一下,我不希望运行模拟的次数改变(n),而是我想在 ok 函数中为不同大小复制这个模拟(ok 函数中的当前大小是 2,我想要为 2 到 10 号复制此功能)。

太感谢了。请让我知道是否需要澄清其中的任何部分。

simulate_f <- function(n){

  n <- 2000
  n.run <- 0
  
  for (i in 1:n){
  
 ok <- sample(1:4, size=2 ,replace=TRUE)

 if(var(ok)==0){
   n.run <- n.run + 1
   
 }
 
}

n.run/n

}

simulate_f()

标签: rsimulation

解决方案


如果n是常数,我们可能不需要它作为参数。相反,size用作输入以用作函数中的变量组件

simulate_f <- function(size){

  n <- 1000
  n.run <- 0
  
  for (i in 1:n){
  
 ok <- sample(1:4, size=size ,replace=TRUE)

 if(var(ok)==0){
   n.run <- n.run + 1
   
 }
 
}

n.run/n

}

sapply(2:10, simulate_f)

推荐阅读