使用R进行基本求和

时间:2014-06-13 22:17:47

标签: r sum standard-deviation

所以我知道R中有一个标准偏差函数,但是我试图弄清楚如何使用for循环来编写代码来解决SD问题。

men<-c(150,175,213,241,190,132,110,208,187)
alex<-NULL
for(i in 1:length(men)
    {
    alex[i]<-(men[i]-178.44)^2

    }

这是我到目前为止所做的和我想要做的是将(men [i] -mean)^ 2的值存储在矢量alex中,这样我就可以继续对矢量alex求和并找到标准偏差。但是,当我尝试运行此代码时收到错误消息。任何意见都表示赞赏。

1 个答案:

答案 0 :(得分:1)

由于R中的某些计算可以应用于整个向量,因此您只需编写以下内容并忘记for循环。

> alex <- (men - mean(men))^2
> alex
# [1]  809.08642   11.86420 1194.08642 3913.19753  133.53086
# [6] 2157.08642 4684.64198  873.53086   73.19753

根据您的评论,这是我使用for循环执行此操作的方式。请注意alex的初始化是一个数字向量,其长度与我们计算的向量的长度完全相同。这使得for循环在R中运行得更快。

> alex <- numeric(length(men))
> for(i in 1:length(men))  alex[i] <- (men[i] - mean(men))^2
> alex
# [1]  809.08642   11.86420 1194.08642 3913.19753  133.53086
# [6] 2157.08642 4684.64198  873.53086   73.19753