重复一个过程 1000 次并创建一个图
Repeating a process 1000 times and creating a plot
让我们从一些数据开始:
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 的评论
让我们从一些数据开始:
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 的评论