2

使用 RSCript 和 rworldmap 包。我想创建一个输出,以便能够显示每个公司内发布的文档数量。大致基于 mapPies,而不是使用饼图来仅在图表上显示数据。

我有自己的 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

对于美国,将出现数字 50,而英国将出现 38 等......在下图所示的图像上!!!!

我有图片,我希望它看起来像,但我不能发布任何图片,如果需要澄清,很乐意发送

我已经使用 RSCript 和 rworldmap 创建了一张世界地图,因此应用能够做到这一点的代码非常棒。

我用来生成世界地图的代码如下:

library(rworldmap) 
require(rworldmap)
myData2 <- read.delim(file="C:\\Documents\\Projects\\RScriptAnalysis\\noofpublications2.txt", header = TRUE, sep = "\t")
names(myData2)
sPDF2 <- joinCountryData2Map(myData2, joinCode = "ISO3", nameJoinColumn = "ISO3V10")
par(mai=c(0,0,0.2,0),xaxs="i",yaxs="i")
mapParams <- mapCountryData(sPDF2, nameColumnToPlot="No.of.Documents", catMethod = "categorical", addLegend=FALSE)
do.call( addMapLegend, c(mapParams, legendWidth=0.5, legendMar = 2))

如果使用 RSCript 和 rworldmap 可以做到这一点,您是否可以编写代码或修改允许我这样做的代码?


这就是我希望能够做到的!

我在哪里可以找到经度和纬度,因为这样会更好。

作为我想要的输出是每个国家/地区地图上显示的文档数量!

您能否在原始问题中编辑我上面的文件和代码以向我展示如何执行此操作?

4

1 回答 1

1

可能吗?这是R。

require(fortunes)
fortune("Yoda")

您可能需要更具体地确定您想要这些数字的确切位置,因为合并为您带来了 5 个以上的领域:

str(sPDF2@data[which(sPDF2@data$ISO3V10 =="GBR"),])
'data.frame':   1 obs. of  15 variables:
 $ FIPS        : Factor w/ 244 levels "","AC","AE","AF",..: 224
 $ ISO2        : Factor w/ 246 levels "AD","AE","AF",..: 76
 $ ISO3        : Factor w/ 246 levels "ABW","AFG","AGO",..: 79
 $ UN          : int 826
 $ NAME        : Factor w/ 246 levels "Afghanistan",..: 230
 $ AREA        : int 24193
 $ POP2005     : int 60244834
 $ REGION      : int 150
 $ SUBREGION   : int 154
 $ LON         : num -2.9
 $ LAT         : num 54.2
 $ ISO3V10     : Factor w/ 5 levels "CAN","CHN","GBR",..: 3
 $ Country     : Factor w/ 5 levels "Canada","China",..: 4
 $ No_Documents: int 38
 $ ISO3        : Factor w/ 5 levels "CAN","CHN","GBR",..: 3

那么为什么不为您希望放置这些数字的位置提供坐标,并编辑您的输入文件以反映该选择。

于 2012-05-15T19:18:35.173 回答