【问题标题】:Repeating a process 1000 times and creating a plot重复一个过程 1000 次并创建一个绘图
【发布时间】:2018-12-21 00:55:21
【问题描述】:

让我们从一些数据开始:

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 即可

标签: r repeat statistics-bootstrap


【解决方案1】:

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

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

编辑:基于@Ben Bolker 的 cmets

【讨论】:

  • ... 并将结果分配给变量 (r &lt;- replicate(...)),然后使用 hist(r) ...
猜你喜欢
  • 2021-02-27
  • 2019-12-22
  • 2023-01-02
  • 2020-10-12
  • 1970-01-01
  • 1970-01-01
  • 2015-01-13
  • 1970-01-01
  • 2011-08-05
相关资源
最近更新 更多