我想从正态分布生成 25 个正态样本。我希望以一种智能的方式来做到这一点,我不需要将所有这些样本作为单独的实体。
这是我迄今为止该部分的代码
data <- replicate(25, rnorm(100))
到目前为止,它生成了 100 个样本中的 25 个样本。在提取数据的平均值和标准差时,显然这些值适用于整个数据集。
所以我的问题是如何分解它并确定 25 个样本中每个样本的 mean
和 sd
?
最佳答案
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
关于r - 从R中的多个样本中求均值和SD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11395016/