我将尝试从数据框的特定列计算平均值和标准差,并将这些值返回到数据框中的新列。对于平均值,我可以让它正常工作:
library(dplyr)
mtcars = mutate(mtcars, mean=(hp+drat+wt)/3)
然而,当我尝试计算标准差时,会出现问题,因为我不能像计算平均值那样轻松地硬编码方程。所以,我尝试使用以下函数:
mtcars = mutate(mtcars, mean=(hp+drat+wt)/3, stdev = sd(hp,drat,wt))
导致错误 "Error in sd(hp, drat, wt) : unused argument (wt)"。我该如何更正语法?谢谢。
sd
函数。你觉得这看起来不一致吗? - David Arenburgsd
的调用是不正确的,这是一个常见的错误方式。例如,尝试使用sd(1,2,3)
,然后阅读?sd
并查看(1)它将第一个参数描述为“x:数字向量”,以及(2)它明确不包括“…”(省略号,允许提供任意数量的参数,就像您正在提供的那样)。 - r2evans+
获取平均值可能无法按预期工作。在mean
和rowMeans
中,有删除NA的选项,即na.rm=TRUE
。 - akrun