计算向量中给定的每个变量的标准偏差

Calculate standard deviation for each variable given in a vector

当我有一个字符串向量,并且每个字符串对应于数据帧中的一个变量时,我如何轻松地接收到相应标准差的向量?有比循环更好的东西吗?

下面是一个使用 mtcars 的例子:

attach(mtcars)
string_vector <- ("mpg", "cyl", "disp")

我知道如何计算标准差

sd(mpg)
# 6.026948
sd(cyl)
# 1.785922
sd(disp)
# 123.9387

我最终想要的是

sd_vector <- c(sd(mpg), sd(cyl), sd(disp))
sd_vector
#    6.026948   1.785922 123.938694

您可以使用 sapply:

> string_vector <- c("mpg", "cyl", "disp")
> sapply(mtcars[string_vector], sd)
       mpg        cyl       disp 
  6.026948   1.785922 123.938694