スペインの州のシェイプファイルを特定のデータフレームとマージする際に問題があります。それらをマージした後、何とか形が偽の州にリンクされます(f.eバルセロナはテルエルの形を返します)。私は例を探しましたが、私が間違っていることを理解することはできません。スペイン語シェイプファイルとデータフレームの結合
すべての必要なファイルがこのフォルダに格納されます。 Dropbox folder
library(maptools)
library(dplyr)
library(data.table)
library(reshape2)
私はRに必要なすべてのファイルを入力します。
gor=readShapeSpatial('prov_map.shp')
prov=read.csv("prov.csv",sep = ';')
prov=subset(prov,select=-X)
私は、データ・ファイル内の州名ので、彼らドンを修正実際の名前の前に番号がある場合は、結果の変数を因子に変換します。
provcorr=colsplit(prov$Province," ",c("Prov_num","Province"))
prov$prov_num=provcorr$Prov_num
prov$province_nonum=provcorr$Province
prov$provfact=as.factor(prov$province_nonum)
シェープファイルで
州名があるため、スペイン語のアクセントの少し奇妙なので、彼らはデータフレーム中のものと一致するように、私はそれらを修正:
prov_nom=c("Melilla","Ceuta", "Zaragoza","Zamora", "Bizkaia",
"Valladolid","Valencia/València","Toledo","Teruel",
"Tarragona","Soria","Sevilla","Segovia","Cantabria",
"Salamanca","Pontevedra","Palencia","Asturias","Ourense",
"Navarra","Murcia","Málaga","Madrid","Lugo","Rioja, La",
"Lleida", "León", "Jaén", "Huesca", "Huelva", "Gipuzkoa",
"Guadalajara","Granada","Girona","Cuenca","Coruña, A",
"Córdoba", "Ciudad Real", "Castellón/Castelló","Cádiz",
"Cáceres", "Burgos","Barcelona", "Balears, Illes", "Badajoz",
"Ávila", "Almería", "Alicante/Alcant","Albacete","Araba/Álava")
[email protected]$NAMEBIEN=as.factor(prov_nom)
はここまで、形状が完全に並んでいます州名が付いています。たとえば、次のように入力したとします。
plot(subset(gor,[email protected]$NAMEBIEN=='Barcelona'))
バルセロナの形が現れます。しかし、私はそれらをマージしようとしました:
[email protected]=merge([email protected],prov,by.x='NAMEBIEN',by.y='provfact',all.x=T)
これはもうありません。前と同じコードを次のように入力すると:
plot(subset(gor,[email protected]$NAMEBIEN=='Barcelona'))
テルエルの形が現れます。
問題は私を狂っています。助言がありますか?
ありがとうございました!私はちょうどRでプログラミングを始め、それを知らなかった。これは多くの助けになりました! – IArchondo