r-重复一个过程1000次并创建一个绘图



让我们从一些数据开始:

df <- rnorm(30)

我想随机抽取1000次df,每次获得5个数字,不重复,并计算其变异系数(cv(:

sample_df <- sample(df, 5, replace = F) 
cv <- (sd(sample_df) / mean(sample_df)) * 100

所以现在。我想把最后两行代码重复1000次,这样我就能得到1000个系数。我该怎么做?

稍后,我想合并所有系数,并绘制一个直方图或密度图。

我们可以将代码放在大括号内并使用replicate

n <- 1000
out <- replicate(n, {sample_df <- sample(df, 5, replace = FALSE)
sd(sample_df)/mean(sample_df) * 100})
hist(out)

编辑:基于@Ben Bolker的评论

最新更新