对所有 x 值求和并减去它们的平均值
Sum all x-values and subtract by their mean
我正在尝试在 R 中对标准差公式进行硬编码(是的,我知道有一个函数可以执行此操作)。这是我目前所拥有的。
x = c(1, 6, 2, 7, ... #shortened for clarity
n = length(x)
xBar <- mean(x)
...
StDev = sqrt((sum(x - xBar)) / (n-1))
这输出零。我在 R 方面经验不足,但我相信我的问题在于 sum(x - xBar)
。我怎样才能将所有 x 值的总和减去平均值?谢谢!
我不想写新函数。
试试这个公式:
x = c(1, 6, 2, 7)
sqrt(sum((x-mean(x))^2)/(length(x)-1))
[1] 2.94392
如您所见,标准 R 函数的输出相同 sd
:
sd(x)
[1] 2.94392
您缺少 ^2
。这是具有正确公式的相同代码。
x <- c(1, 6, 2, 7)
n <- length(x)
xBar <- mean(x)
...
StDev <- sqrt(sum((x - xBar)^2) / (n - 1))
在这里你可以看到它给出了与 sd()
相同的输出。
StDev
[1] 2.94392
sd(x)
[1] 2.94392
我正在尝试在 R 中对标准差公式进行硬编码(是的,我知道有一个函数可以执行此操作)。这是我目前所拥有的。
x = c(1, 6, 2, 7, ... #shortened for clarity
n = length(x)
xBar <- mean(x)
...
StDev = sqrt((sum(x - xBar)) / (n-1))
这输出零。我在 R 方面经验不足,但我相信我的问题在于 sum(x - xBar)
。我怎样才能将所有 x 值的总和减去平均值?谢谢!
我不想写新函数。
试试这个公式:
x = c(1, 6, 2, 7)
sqrt(sum((x-mean(x))^2)/(length(x)-1))
[1] 2.94392
如您所见,标准 R 函数的输出相同 sd
:
sd(x)
[1] 2.94392
您缺少 ^2
。这是具有正确公式的相同代码。
x <- c(1, 6, 2, 7)
n <- length(x)
xBar <- mean(x)
...
StDev <- sqrt(sum((x - xBar)^2) / (n - 1))
在这里你可以看到它给出了与 sd()
相同的输出。
StDev
[1] 2.94392
sd(x)
[1] 2.94392