R:重复n次运算并存储在向量中 [英] R: Repeat operation n times and store in vector

查看:23
本文介绍了R:重复n次运算并存储在向量中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码来随机抽样8个观测值中的3个,然后计算变异系数(CV)。

d <- c(4.34238,4.32101,4.35023,4.44773,4.24697,4.08944,4.28733,4.46353)

# Random sampling with replacement:
i <- sample(1:8, 3, replace=TRUE)
X <- d[i]

meanX <- mean(X)
sdX <- sd(X)
cvX <- (sdX/meanX)*100
cvX

问题是,我想要将其引导10000次,并将值存储在向量中或导出为csv,以便稍后我可以计算平均CV。

我找到了代码(I)用于重复n次操作;以及(Ii)用于单独导出值。我怎么才能一起做到这一点? 谢谢。

额外的问题... 哪种方式更有效率:- (I)每次随机抽样3/8的观察值,计算CV,存储数值? (Ii)生成10000组采样观测值,计算CV,存储数值?

推荐答案

我在向量d中创建了一个随机数矩阵,以便能够运行某些东西,但也许您可以使用下面的代码来使其工作!问候!

d <- matrix(rnorm(100000), ncol=2)

n_bootstraps <- 50
cvX_vec = rep(0, n_bootstraps)

for (i in 1:n_bootstraps){
  i <- sample(1:8, 3, replace=TRUE)
  X <- d[i,2]
  meanX <- mean(X)
  sdX <- sd(X)
  cvX_vec[i] <- (sdX/meanX)*100
}

write.csv(x = cvX_vec, file = "./blah.csv")

这篇关于R:重复n次运算并存储在向量中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆