69

より大きな問題 (ポリゴン ID が同一の場合に for に,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チェックは何らかの理由で発生するので、それが何であるかに興味があります。

4

4 に答える 4

88

最初のデータフレームの名前 (列名) が 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

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

于 2012-08-18T14:49:04.710 に答える
3

rbind()2 つのオブジェクト名が同じである必要があります。たとえば、最初のオブジェクト名: ID Age、次のオブジェクト名: ID Gender、を使用する場合は、次のrbind()ように出力されます。

名前が以前の名前と一致しない

于 2016-06-21T08:26:56.570 に答える