2016-09-30 4 views
-4

データセットの各行に対して繰り返しforループを実行して、2つの座標間の距離を計算しました。コードは 'geosphere'パッケージと 'distm'関数を使用します。この関数は2組の座標をとり、距離をメートルで返します(これは0.00062137を掛けてマイルに変換します)。R for-loopで認識できないインデックス変数[i]

Error: object 'i' not found 

事があり、私は前にこのコードを実行してきたし、それが働いた:私はそれを実行すると、私はエラーが表示さしかし

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

、:

は、ここに私のループです。他の時に、私はこのエラーを取得します。私はコードを変更していない、それはちょうどいくつかの時間のランダムに動作するようだ。私は時々ループしなければいけないループが正しく構築されなければならないと感じていますが、なぜ時にはうまくいくのでしょうか?

+2

「i in i:3303'」を実際にやりたいとは思いません。おそらく以前はあなたのワークスペースにどこかで 'i'を定義していたので、これは一度動作しました。しかし、それ以外の場合は、「i:3303」を解決するときに「私」が何であるかを知らないと不平を言うでしょう。 – joran

答えて

0

[OK]を、私はこれの下の票を正当化するものは確かではありませんが、誰もが必要と思った人にお詫び申し上げますと思います。

Zheyuanのような実際の数値でインデックスを作成しているようです(つまり、「i:3303」ではなく「1:3303」を使用しています)。最初に 'i'を定義することなく 'i in i:xxx'を使用する前にループを作成したような気がしますが、そうでないかもしれません。とにかく、それは解決され、ありがとう!

+0

どのような価値があるのでしょうか? – Jesin

関連する問題