【发布时间】: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是什么。