RScript 用自己的值创建世界地图

标签 r

我希望能够为一手牌的国家绘制我自己的值(value)观。例如:中国、美国、英国、加拿大和俄罗斯

我有自己的 txt 文件,其中包含 3 列 - ISO3V10、国家/地区和文档数量。

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

这个想法是为国家着色的世界地图,并且绘制的数据是文档数量

到目前为止我已经做到了:

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,因为这是我可以让它工作的唯一方法。

有人能告诉我代码哪里出了问题吗?

最佳答案

如果以下代码适合您,则文本文件的格式或将其读入 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)) 的结果发布在您的原始帖子中。

关于RScript 用自己的值创建世界地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10423025/

相关文章:

R 包更新

r - 如何解析化学式以获得原子成分?

r - 避免在 sweave/pgfsweave 编译期间显示数字

r - 如何在ggplot中使用索引号作为x?

r - 在 R 中计算分组 data.frame 期间是否有一种优雅的方法来显示进度条?

在 plotly 中复制带有刻面和箭头注释的 ggplot2 图表

regex - "opposite"结果的正则表达式

r - 如何根据 R 中某个组的某些观察结果对箱形图上的数据点进行着色

r - 使用变量名作为 lapply 的绘图标题

r - R中整数类和数字类有什么区别