ポイントIDとそれらの間の距離の9541ペアのリストを含むCSVファイルと、同じペアであるがそれぞれの距離が異なる別のファイルがあります。私はそれらが同じペアであると99%確信しています。
私はそれらをテーブルa
とに置きb
、次のようにマージしました:
names(a) <- c('Point1', 'Point2', 'Distance')
names(b) <- c('Point1', 'Point2', 'Cheby')
m <- merge(a, b)
m
私が予想していたよりも8行余分にあることを除いて、すべて良好です。私はとの合併しようとしたall.x=TRUE
とall.y=TRUE
同様に、同じ結果で、そして何のフィールドがありませんNA
。なぜそれらがそこにあるのかを理解できるように、8つの余分な行が何であるかをどのように見つけるのですか?
私は、マージしようとしたm
バックa
とb
行が持っているかを確認するNA
が、任意のはありません。さらに奇妙なことに、現在9565行があります。データフレームの小さなサブセットをマージすると完全に機能しますが、予期しない数の行が返されるまで、ますます大きなサブセットをマージするよりも、何が問題になっているのかを見つけるためのよりエレガントな方法があるのではないかと思います。
一部のポイントがデータフレーム内で重複しているように思われますか?試してみてください
a1 <- a[,-ncol(a)]
a1[duplicated(a1),]
b1 <- b[,-ncol(b)]
b1[duplicated(b1),]
重複するポイントがあるかどうかを確認します。
編集:また、a
重複したポイントを持つすべての行を取得するには、次のようにします。
a1 <- a[,-ncol(a)]
duplicated_points_a <- a1[duplicated(a1),]
merge(duplicated_points_a, a)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加