【发布时间】:2023-03-08 14:59:01
【问题描述】:
我有一个包含平均值、标准差和 n 的数据集。其中一个变量的样本量相等,而另一个变量的样本量不同。
dat <- data.frame(variable = c(rep("x", 2), rep("y", 3)), replicate = c(1,2,1,2,3),
mean = c(3.4, 2.5, 6.5, 5.7, 5.1), sd = c(1.2, 0.7, 2.4, 4.0, 3.5),
n = c(3,3,5,4,6))
我需要组合 x 和 y 变量,并试图找到一种节省代码的方法来计算组合标准差,例如使用 aggregate 函数。 The equation for combined standard deviation 如下:
对于不等的样本量 (same source):
我的组合数据框应如下所示:
variable mean sd
x 2.95 sd_x
y 5.76 sd_y
如何在 R 中创建一个计算组合标准差的函数? 或者,如果有为此设计的包,它也算作答案 =)
【问题讨论】:
-
听起来你真的是在要求人们编写一个为你简单地实现该公式的函数。
-
@joran 很抱歉,如果是这样的话。那真的不是我的意思。我整个晚上都在挣扎并想问,因为没有R解决方案。如果我问的话,我认为这会对其他人有益。我首先提出了一个更长的问题,我解释了我所做的事情,但删除了它,因为它太长且难以理解。
-
我想有几种方法可以做到这一点。此处介绍的方法 (arxiv.org/ftp/arxiv/papers/1007/1007.1012.pdf) 给出的值与此处的弗洛德尔答案 (stackoverflow.com/questions/9222056/…) 相同。我正在查看的方法(上图)给出的值略有不同。我不知道为什么。由于缺乏知识,我会以Rudmin的解决方案来解决。
标签: r variance propagation standard-deviation