Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:如何迭代未知长度的向量_R_Loops_Vector_String Length - Fatal编程技术网

R:如何迭代未知长度的向量

R:如何迭代未知长度的向量,r,loops,vector,string-length,R,Loops,Vector,String Length,我明白了。可以删除 我在寻找一个平均值的单个整数,即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)) {

我明白了。可以删除

我在寻找一个平均值的单个整数,即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)
    }
}

x我完全不知道你的问题是什么,但我会借此机会说出来

for (i in 1:length(x))
...
这不是一个好的做法,因为当
x
的长度为0时,它会断开。原因是
1:0
c(1,0)
在R:

1:0
# [1] 1 0
因此,@thelatemail已经提到了它们,
seq_len
seq_along
是迭代向量或列表索引的正确方法:

for (i in seq_along(x))
...
使用
seq_len
时,它有点长,可读性差:

for (i in seq_len(length(x)))
...
从你的问题来看,你似乎最想迭代向量或列表的元素,所以你可以简单地说

for (elem in x)
...

还请注意,在R中,您可以使用向量,而不是为循环编写

我感到困惑。1:length(x)
中的
i有什么问题?您正在运行的代码会产生什么样的输出?另请参见
?seq_len
?seq_along
似乎您的python也生锈了…在我看来,您希望使用
for(x中的i)
for(y中的j)
这在R中可以很好地工作。如果您试图计算x的加权平方误差,那么您应该将计算矢量化。len(vector)中的i的
在python中做什么?既然
len(vector)
不是一个列表,我想它只是抛出了一个错误。@JamesKing它确实给出了一个错误,正是这样:
TypeError:“int”对象是不可写的
我认为
for(elem in x)
是OP所想的,但这段代码仍然不会给出他想要的答案。我想他只是想计算一下总和(y*(x-均值(x))^2)=0.0001365762使用seq_len,我得到错误“警告消息:在seq_len(x)中:使用'length.out'参数的第一个元素”@user3814464如果你一直以不同于别人告诉你的方式做事,那么我们能做什么?:)说真的,请用我回答中的一种形式。如果你坚持要问这个问题,我会编辑这个问题来补充。但是你只需要
(x中的i)
,或者更好的是,@JamesKing提供给你的向量化形式。