如何使用for循环获取多个样本?

如何使用for循环获取多个样本?,r,loops,for-loop,montecarlo,R,Loops,For Loop,Montecarlo,设置为:“假设人口为10000人,其中6000人是民主党人。我们从这个假设的人口中模拟调查抽样。首先,以R生成人口向量。然后,创建500个大小为n=1000的随机样本。” 到目前为止,我的代码是: pop<-c(rep("Democrat", 6000), rep("Republican", 4000)) nTrials <- 500 n <- 1000 results <- rep(NA, nTrials) for(i in

设置为:“假设人口为10000人,其中6000人是民主党人。我们从这个假设的人口中模拟调查抽样。首先,以R生成人口向量。然后,创建500个大小为n=1000的随机样本。

到目前为止,我的代码是:

pop<-c(rep("Democrat", 6000), rep("Republican", 4000))


nTrials <- 500
n <- 1000
results <- rep(NA, nTrials)

for(i in 1:nTrials)
{
  sampled <- sample(x=pop, size=n, replace=FALSE)
  results[i]<- sampledpop<-c(rep(1, 6000), rep(0, 4000))


nTrials <- 500
n <- 1000
results <- matrix(data=NA, ncol = nTrials, nrow = n)
Y<-matrix(data=NA, ncol=nTrials, nrow=1)

for(i in 1:nTrials)
{
  sampled <- sample(x=pop, size=n, replace=TRUE)
  results[,i]<- sampled
  Y[,i]<- sum(results[,i])
}
pop试试这个

replicate(500L, sample(c("Democrat", "Republican"), 1000L, replace = TRUE, prob = c(0.6, 0.4)), simplify = FALSE)
还是这个

pop <- c(rep("Democrat", 6000L), rep("Republican", 4000L))
replicate(500L, sample(pop, 1000L), simplify = FALSE)

pop您可以使用查看功能轻松查看保存的对象

我们还可以在R代码中插入一行代码,直到击键后才停止执行

把这两行放在一起,我们可以把两行放到一个循环中,一行显示最终输出的当前版本,另一行暂停循环直到我们继续。这将让我们一步一步地探索循环的行为。以其中一个循环为例:

for(i in 1:nTrials)
{
  sampled <- sample(x=pop, size=n, replace=TRUE)
  results[,i]<- sampled
  Y[,i]<- sum(results[,i])
  View(Y)
  readline(prompt="Press [enter] to continue")
}
for(i in 1:nTrials)
{
取样
for(i in 1:nTrials)
{
  sampled <- sample(x=pop, size=n, replace=TRUE)
  results[,i]<- sampled
  Y[,i]<- sum(results[,i])
  View(Y,)
  interrupt = readline(prompt="Enter 1 for next loop, 0 to exit: ")
  if (interrupt == 0) {break}
}