2016-09-30 104 views
-4

我編寫了一個簡單的for-loop循環遍歷數據集的每一行來計算兩個座標之間的距離。代碼使用'geosphere'包和'distm'函數,它採用兩組座標並以米爲單位返回距離(我將其轉換爲英里乘以0.00062137)。在R for for循環中無法識別的索引變量[i]

這裏是我的循環:

##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 

的事情是,我以前運行此代碼和它的工作。其他時候,我得到這個錯誤。我沒有改變任何代碼,它似乎只是隨機工作的一些時間。我認爲,如果有時我需要做循環,那麼循環必須正確地構建,但爲什麼它有時會起作用?

+2

我無法想象要真正做'我在我:3303'。可能它曾經工作過一次,因爲您之前在工作區中定義了「i」。但否則,它會抱怨不知道當我解析'i:3303'時是什麼。 – joran

回答

0

好的,我不確定什麼證明這個選票是正確的,但是我猜我會向任何認爲必要的人道歉。

這個問題似乎剛剛開始使用像Zheyuan建議的實際數值(即使用'1:3303'而不是'i:3303')的索引。我覺得我已經創建了循環,然後在沒有首先定義「我」的情況下使用'我在i:xxx'中,但也許沒有。無論如何,它已經解決了,謝謝!

+0

甚至開始的價值是什麼? – Jesin