rbind エラー:「名前が以前の名前と一致しません」質問する

rbind エラー:「名前が以前の名前と一致しません」質問する

より大きな問題の一部として (ポリゴン ID が同一の場合に,makeUniqueIDs引数を追加するrbind.SpatialPolygonsDataFrame)、rbind から次の奇妙なメッセージが表示されます。

> do.call("rbind",xd.small)
Error in match.names(clabs, names(xi)) : 
  names do not match previous names

これに関して私が見つけることができた唯一の情報はこの質問rbind、それがそこでも問題の根源であったと私は信じるに至りました。

もちろん、独自の rbind のような関数を作成することもできますが、おそらくこのmatch.namesチェックは何らかの理由で行われるため、それが何なのかが気になります。

ベストアンサー1

最初のデータフレームの名前 (列名) が 2 番目のデータフレームの名前と一致しません。エラー メッセージのとおりです。

> identical(names(xd.small[[1]]), names(xd.small[[2]]) )
[1] FALSE

2 番目の df の 3 列目または 4 列目の名前を気にしない場合は、それらを同じに強制することができます。

> names(xd.small[[1]]) <- names(xd.small[[2]]) 
> identical(names(xd.small[[1]]), names(xd.small[[2]]) )
[1] TRUE

そうすれば物事は幸せに進むはずです。

おすすめ記事