【问题标题】:Unrecognized index variable [i] in R for-loopR for循环中无法识别的索引变量[i]
【发布时间】:2016-09-30 22:11:01
【问题描述】:

我编写了一个简单的 for 循环来遍历数据集的每一行以计算两个坐标之间的距离。该代码使用“geosphere”包和“distm”函数,该函数采用两组坐标并返回以米为单位的距离(我通过乘以 0.00062137 将其转换为英里)。

这是我的循环:

##For loop to find distance in miles for each coordinate pair
miles <- 0
for (i in i:3303) {
miles[i] <- distm(x = c(clean.zips[i,4], clean.zips[i,3]), y = c(clean.zips[i,7], clean.zips[i,6]))[,1] * 0.00062137
}

但是,当我运行它时,我收到一个错误:

Error: object 'i' not found

问题是,我之前已经运行过这段代码并且它有效。其他时候,我得到这个错误。我没有更改任何代码,它似乎只是在某些时候随机工作。我觉得循环必须正确构建,如果它偶尔会做我想要的,但为什么它有时会起作用?

【问题讨论】:

  • 我无法想象想要实际做i in i:3303。可能它工作过一次,因为您之前在工作区的某个地方定义了i。但否则,它会抱怨在解析i:3303时不知道i是什么。

标签: r for-loop


【解决方案1】:

好的,我不确定是什么证明了对此投反对票的理由,但我想我向认为有必要的人道歉。

问题似乎刚刚开始使用像哲元建议的实际数值(即使用 '1:3303' 而不是 'i:3303')开始索引。我觉得我在使用 'i in i:xxx' 之前创建了循环,而没有先定义 'i' 但也许没有。反正已经解决了,谢谢!

【讨论】:

  • 它的价值是什么?
猜你喜欢
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 1970-01-01
  • 2015-09-28
相关资源
最近更新 更多