R中的循环问题

时间:2014-09-09 20:59:35

标签: r loops

我有一个包含此列x $ multX1992

的数据框
x$multX1992;

0 30 30 30 12  5  6  0  0  0  0  0

me92;
0.6531792

创建了一个空向量来存储

中的内容
tmp<- rep(NA, length(x$multX1992));
tmp;
NA NA NA NA NA NA NA NA NA NA NA NA

创建此循环以从x $ multX1992中的每个值中减去me92并将它们存储在空向量中。

for(i in seq(x$multX1992)){ tmp[i]<- (i - me92)^2}

我做错了什么?数学没有加起来。

1 个答案:

答案 0 :(得分:2)

你不需要for循环来完成这项任务,只需利用R的矢量化方式来做事

> x <- data.frame(multX1992=c(0,30,30,30, 12,5,6,0,0,0,0,0))
> me92 <- 0.6531792
> tmp <- (x$multX1992-me92)^2
> tmp
        multX1992
 [1,]   0.4266431
 [2,] 861.2358911
 [3,] 861.2358911
 [4,] 861.2358911
 [5,] 128.7503423
 [6,]  18.8948511
 [7,]  28.5884927
 [8,]   0.4266431
 [9,]   0.4266431
[10,]   0.4266431
[11,]   0.4266431
[12,]   0.4266431