首页 文章

从R中的多个样本中寻找均值和SD

提问于
浏览
2

我想从正态分布中生成25个正常样本 . 我希望以一种聪明的方式做到这一点,我没有将所有这些样本作为单独的实体 .

这是我到目前为止对该部分的代码

data <- replicate(25, rnorm(100))

到目前为止,这是因为它生成了25个100的样本 . 当提取数据的均值和sd时,显然这些值是针对整个数据集的 .

所以我的问题是如何对25个样本中的每个样本进行分解并确定 meansd

2 回答

  • 2

    apply(x, 2, mean) 的一个很好的替代方案是 colMeans(x) ,但是 apply(x, 2, sd) 没有这样的选择:(但是你也可以使用apply函数一次性获得均值和标准差,让我们这样做:

    set.seed(42)
    x <- replicate(25, rnorm(100))
    
    Stats <- t(apply(x, 2, function(x) c(Mean=mean(x), Sd=sd(x))))
    Stats
                  Mean        Sd
     [1,]  0.032514816 1.0413570
     [2,] -0.087483707 0.9041735
     [3,] -0.010368172 1.0170123
     [4,]  0.032936464 0.8761978
     [5,] -0.117830506 1.0199916
     [6,]  0.002363510 1.0633145
     [7,] -0.086747228 0.9755756
     [8,] -0.169291497 0.8830939
     [9,]  0.061457015 1.0377577
    [10,]  0.084205039 1.1804565
    [11,] -0.129164759 1.0080920
    [12,]  0.039991367 0.9814254
    [13,]  0.078980115 0.9719501
    [14,] -0.148572682 0.9125126
    [15,] -0.048566771 0.9562642
    [16,]  0.006789862 1.0347380
    [17,]  0.274102604 1.0212837
    [18,] -0.113169899 0.9988576
    [19,]  0.151418057 0.9830082
    [20,] -0.164987838 0.9348188
    [21,] -0.035644377 1.0214245
    [22,] -0.041569005 1.0159495
    [23,]  0.051384229 1.0944096
    [24,]  0.073521001 0.9084400
    [25,]  0.021893835 0.9438906
    
  • 0

    使用 apply 清除摘要 .

    set.seed(42)
    x <- replicate(25, rnorm(100))
    

    由于您的数据是列式矩阵,因此您需要将函数 apply 用于第二维 .

    apply(x, 2, mean)
     [1]  0.032514816 -0.087483707 -0.010368172  0.032936464
     [5] -0.117830506  0.002363510 -0.086747228 -0.169291497
     [9]  0.061457015  0.084205039 -0.129164759  0.039991367
    [13]  0.078980115 -0.148572682 -0.048566771  0.006789862
    [17]  0.274102604 -0.113169899  0.151418057 -0.164987838
    [21] -0.035644377 -0.041569005  0.051384229  0.073521001
    [25]  0.021893835
    
    
    apply(x, 2, sd)
     [1] 1.0413570 0.9041735 1.0170123 0.8761978 1.0199916
     [6] 1.0633145 0.9755756 0.8830939 1.0377577 1.1804565
    [11] 1.0080920 0.9814254 0.9719501 0.9125126 0.9562642
    [16] 1.0347380 1.0212837 0.9988576 0.9830082 0.9348188
    [21] 1.0214245 1.0159495 1.0944096 0.9084400 0.9438906
    

相关问题