この次のコードを実行しようとしています:
p <- ggplot(data=cuernavaca.map, aes(long, lat, group=group))
p + geom_polygon(size=0.1, aes(fill=pobtot)) + coord_equal() + facet_wrap(~nombre_municipio,scales="free") + coord_equal() + scale_fill_gradient2(low="blue", high="red", midpoint=mean(cuernavaca.map$pobtot, na.rm=TRUE))+ tema.mapas + ggtitle("Cuervaca y Zona metropolitana\nPoblación Total") + labs(fill="Población total")
しかし、私はこのエラーが発生しました:
エラー: ggplot2 はクラス unval のデータを処理する方法を知りません
オブジェクトcuernavaca.map
は要塞化されてSpatialDataFrame
います。
奇妙なことに、これは 1 台のマシン (Ubuntu 13.04、RStudio 0.97.551、R 3.0.1) で実行するknit2html
かボタンを押すknit HTML
と、コンソール (RStudio 内) ですべてのコード行を実行すると発生します。動作します(つまり、プロットが完了しました)、そのコードを他の場所にカットアンドペーストする.Rmd file
と動作し、別のUbuntuボックス(上記と同じ仕様)またはMacOS Xで実行すると動作します!
何か案は?
アップデート:
コメントに書かれているように、問題は名前のないパラメータの順序にあるようですので、コードを次のように変更します。
ggplot(data = cuernavaca.map) +
geom_polygon(mapping = aes(x = long, y = lat, group = group, colour = NA, fill = pobtot)) +
coord_equal() +
facet_wrap(~nombre_municipio, scales = "free") +
scale_fill_gradient2(low = "blue", high = "red", midpoint = mean(cuernavaca.map$pobtot,
na.rm = TRUE)) +
tema.mapas +
ggtitle("Cuervaca y Zona metropolitana\nPoblación Total") +
labs(fill = "Población total")
そして、すべてが機能していることを知っています...ほとんど。
size
のパラメータを削除してgeom_polygon
を に設定colour
したコードが表示された場合NA
、これを作成したのは美的な理由ではなく、そのパラメータが機能していないためです。ポリゴンの線幅が膨大になり、色が無視されるだけです。薄い赤になるときもあれば、消えるだけのときもあります...
面白いことに、この下のプロットも現在機能していますが、何だと思いますか? コードは次のとおりです。
ggplot(legend = FALSE) +
geom_polygon(data = cuernavaca.map, size = 0.1, aes(long,
lat, group = group, colour = "grey80", fill = ind_vul)) +
scale_fill_gradient2(low = "blue", high = "red", midpoint = mean(cuernavaca.map$ind_vul, na.rm = TRUE)) +
geom_point(data = puntos.df, aes(as.numeric(long), as.numeric(lat), colour = geografico), size = 2) +
facet_wrap(~municipio, scales = "free") +
tema.mapas +
labs(fill = "Índice de vulnerabilidad")
puntos.df
緯度と経度があるdata.frame
ため、大したことではありませんが、size
パラメーターがどのaes
ように機能しているかはわかりません(「数値の処理方法がわからない...何とか何とか」というエラーは表示されません)
メモリの問題でしょうか?