2012-05-02 11 views
2

国々の手に自分の値をプロットできるようにしたいと思います。例:中国、アメリカ合衆国、イギリス、カナダ、ロシア自分の値で世界地図を作成するRScript

私は自分のtxtファイルにISO3V10、Country、No of Documentsという3つの列があります。

ISO3V10 Country    No of Documents 
CAN  Canada    30 
CHN  China    20 
RUS  Russia    10 
GBR  United Kingdom  38 
USA  United States  50 

アイデアはCountryのために着色された世界地図を持っているだろうし、プロットされたデータはNo of Documentsです。

myData2 <- read.delim("noofdocuments.txt",header=T, sep='\t') 
names(myData2) 
myData2[] 

jessdata <- data.frame(myData2=c("China", "United States", "United Kingdom", 
           "Russia", "Canada")) 
sPDF <- joinCountryData2Map(jessdata, 
          joinCode = "NAME", 
          nameJoinColumn = "myData2") 
par(mai=c(0,0,0.2,0),xaxs="i",yaxs="i") 
mapCountryData(sPDF, nameColumnToPlot="REGION") 

理想的には私がSPDFがなりたい:私はすべて試してみました

mapCountryData(sPDF, nameColumnToPlot="No.of.Documents") 

sPDF <- joinCountryData2Map(countryExData, 
          joinCode = "ISO3", nameJoinColumn = "ISO3V10") 

また、地域のことをこれまでのところ、私はこれを行っている

これを行うための方法は、これはなぜ私はこのようにnameColumnToPlotとしてREGIONを持っているのですか?

コード内でどこが間違っているか教えていただけますか?

+2

あなたの例は自己完結型ではありません。先頭に "library(rworldmap)"を追加する必要があります。また、myData2のdput()関数を使用すると、読者があなたの体験を簡単に試すことができます。 –

答えて

4

次のコードは、あなたのために働く場合、それはその働いていた場合R.

library(rworldmap) 

countryExData<-read.table(text=" 
ISO3V10\tCountry\tNo of Documents 
CAN\tCanada\t30 
CHN\tChina\t20 
RUS\tRussia\t10 
GBR\tUnited Kingdom\t38 
USA\tUnited States\t50" 
,sep="\t",header=TRUE) 

# > countryExData 
# ISO3V10  Country No.of.Documents 
# 1  CAN   Canada    30 
# 2  CHN   China    20 
# 3  RUS   Russia    10 
# 4  GBR United Kingdom    38 
# 5  USA United States    50 

sPDF <- joinCountryData2Map(countryExData, 
          joinCode = "ISO3", nameJoinColumn = "ISO3V10") 
# 5 codes from your data successfully matched countries in the map 
# 0 codes from your data failed to match with a country code in the map 
# 241 codes from the map weren't represented in your data 

par(mai=c(0,0,0.2,0),xaxs="i",yaxs="i") 
mapCountryData(sPDF, nameColumnToPlot="No.of.Documents") 

World map with number of docs

に読み込まれていること、あなたのテキストファイルの形式や方法に問題がある可能性がありcountryExDataオブジェクト(またはmyData2?あなたの投稿からはっきりしていません)を調べて、上記のオブジェクトとの違いを調べる必要があります。あなたが何か不具合を発見しなければ、元の投稿にdput(head(countryExData))の結果を投稿してください。

関連する問題