2

たくさんの国に対して自分の価値観をプロットできるようになりたいです。例:中国、米国、英国、カナダ、ロシア

ISO3V10、国、ドキュメント数の 3 つの列を持つ独自の txt ファイルがあります。

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を次のようにしたいと思います:

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

また、REGION は次のようになります。

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

私はこれを行うために可能なすべての方法を試しました。これが、REGION を nameColumnToPlot として持つ理由です。

コードのどこが間違っているのか誰か教えてもらえますか?

4

1 に答える 1

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")

ドキュメントの数を含む世界地図

それがうまくいった場合は、オブジェクトと上記のオブジェクトとの違いについて、オブジェクトを調べる必要がありcountryExDataます(または、投稿からは不明です)。myData2何か間違いを発見しなかった場合はdput(head(countryExData))、元の投稿に結果を投稿してください。

于 2012-05-03T08:43:11.360 に答える