【问题标题】:How to save 10 different rnorm() in a vector in R?如何在 R 的向量中保存 10 个不同的 rnorm()?
【发布时间】:2022-11-14 20:52:52
【问题描述】:

我需要创建一个向量,其中元素是 10 个不同的正态分布随机序列,每个序列长度为 150。之后,对于这些序列中的每一个,需要计算最小值、最大值、平均值和中值。这 4 个统计数据需要存储在一个向量中。所有 4 元素统计向量应存储在数据框中。

我预定义了一个长度为 10 的向量,并且能够使用 rnorm() 创建 10 个正态分布并使用 hist() 显示它们。 但是我认为我未能将它们保存在向量中。

data <- vector(length = 10)

for(i in 1:10) {
  data[i] <- hist(rnorm(150, 75, 10))
}

【问题讨论】:

  • 是的,您确实失败了,因为您试图将历史记录保存到向量中,保存摘要统计信息。

标签: r dataframe vector statistics normal-distribution


【解决方案1】:

你可以像这样得到你的十个样本:

samples <- replicate(10, rnorm(150, 75, 10))

并将他们的摘要放入这样的数据框中:

do.call(rbind, lapply(asplit(samples, 2), function(x) {
  data.frame(min = min(x), max = max(x), mean = mean(x), sd = sd(x))
}))
#>         min       max     mean        sd
#> 1  41.63553 107.15836 74.65818 11.691526
#> 2  36.27087 103.41606 74.60017 10.580801
#> 3  53.58147 100.37452 75.35968 10.356784
#> 4  48.44410  98.91955 75.13158 10.403437
#> 5  46.69455 102.77960 73.44792 10.692283
#> 6  52.45185 108.14074 75.42726  9.566448
#> 7  51.96023  98.63533 75.59220 10.520285
#> 8  49.03543 102.96443 73.17830 10.615083
#> 9  45.87507 115.26490 74.54446 10.394427
#> 10 47.32588  96.58989 75.85079 10.282901

创建于 2022-11-14 reprex v2.0.2

【讨论】:

    猜你喜欢
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 2015-10-24
    相关资源
    最近更新 更多