计算特定因变量组的 R 标准差

Calculate the standard deviation in R for a specific group of the dependent variable

我正在尝试计算不同组的某些变量的标准差。在我的数据集中,我有 2 个解释变量,结果为 0 或 1(CH 和 CH2)。我想知道这两组标准差的差异。

到目前为止,我正在使用以下命令。样本是数据集,COM 是解释变量之一。

sd(sample$COM, na.rm=TRUE)

是否可以指定为CH = 1? 另外对于 CH = 1 或 CH2=1?

在此先感谢您和亲切的问候。

也许 tapply 函数可以满足您的需求:

tapply(sample$COM, sample$CH, sd)

我更喜欢使用子集函数:

with(subset(samples, subset=CH==1), 
     sd(COM)
    )
with(subset(samples, subset=CH==1 | CH2==1), 
     sd(COM)
    )

它更容易阅读,您不需要一直重复 dataset$ 的内容。

一个简单的方法是使用 tidyverse 包。

以 mtcars 数据集为例:

library(tidyverse)

mtcars %>% group_by(am) %>% 
  summarise(SD_disp = sd(disp),
            SD_hp = sd(hp))