让我们从一些数据开始:
df <- rnorm(30)
我想随机抽样1000次 df 每次获得5个数字而不重复并计算其变异系数( cv ):
df
cv
sample_df <- sample(df, 5, replace = F) cv <- (sd(sample_df) / mean(sample_df)) * 100
所以现在 . 我想重复最后两行代码的1000次,所以我会得到1000个系数 . 我该怎么做?
稍后,我想合并所有系数并绘制直方图或密度图 .
我们可以将代码放在支架内并使用 replicate
replicate
n <- 1000 out <- replicate(n, {sample_df <- sample(df, 5, replace = FALSE) sd(sample_df)/mean(sample_df) * 100}) hist(out)
编辑:基于@Ben Bolker的评论
1 回答
我们可以将代码放在支架内并使用
replicate
编辑:基于@Ben Bolker的评论