【发布时间】:2014-10-03 19:03:20
【问题描述】:
想通了。可以删除。
我正在寻找使 E yi(xi-u)^2 最小二乘的平均值的单个整数,其中“E”是总和。所以,(1*((0.1-0.108)^2)) + (2*((0.11-0.108)^2)) + ...
这个在 R 里怎么说? len 不是函数,length 使用与实际长度对应的数值...不要从头开始迭代,无论多长。
x<-c(0.1, 0.11, 0.111, 0.1111)
y<-c(1, 2, 3, 4)
avg = mean(x)
for (i in 1:length(x)) {
for (j in 1:length(y)) {
mu = sum(j*(i-avg)^2)
print(mu)
}
}
【问题讨论】:
-
我很困惑。
i in 1:length(x)有什么问题?您正在运行的代码会产生什么输出? -
另见
?seq_len和?seq_along -
看来你的python也生锈了……
-
在我看来,您想使用
for (i in x)和for (j in y),它们在 R 中可以正常工作。如果您尝试计算 x 的加权平方误差,那么您应该对计算进行矢量化.for i in len(vector)在 python 中做了什么?由于len(vector)不是列表,我希望它只会引发错误。 -
@JamesKing 它确实给出了一个错误,正是这个:
TypeError: 'int' object is not iterable
标签: r loops vector string-length