我用"rworldmap"包制作世界地图.我正在使用一个函数来访问UN Comtrade的交易数据.
我编辑了我原来的问题所以我可以展示一个我正在做的事情的真实例子.这是我可以制作的地图:
library(rjson)
library(rworldmap)
get.Comtrade <- function(url="http://comtrade.un.org/api/get?", maxrec=50000,
type="C", freq="A", px="HS", ps="now", r, p, rg="all",
cc="TOTAL", fmt="json") {
string <- paste(url
, "max=", maxrec,"&" # maximum no. of records returned
, "type=", type, "&" # type of trade (c=commodities)
, "freq=", freq, "&" # frequency
, "px=", px, "&" # classification
, "ps=", ps, "&" # time period
, "r=", r, "&" # reporting area
, "p=", p, "&" # partner country
, "rg=", rg, "&" # trade flow …Run Code Online (Sandbox Code Playgroud) 我正在尝试用 IMF 的数据制作一些条形图。我试图用 read.table() 读取 xls 文件:
base <- read.table("http://www.imf.org/external/pubs/ft/weo/2017/02/weodata/WEOOct2017all.xls", header=TRUE, sep="\t", fill=TRUE)
Run Code Online (Sandbox Code Playgroud)
但是,数据保存为列表:
typeof(base)
[1] "list"
Run Code Online (Sandbox Code Playgroud)
而且我不知道如何提取数据来制作条形图。例如,我想为国家“ARG”和 2010-2019 年(excel 中的第 40-49 列)绘制变量“NGDP_RPCH”。
我试过这个,但没有用:
graph <- base[which((base[2]=="ARG")&(base[3]=='NGDP_RPCH')),40:49]
graph
[1] X2010 X2011 X2012 X2013 X2014 X2015 X2016 X2017 X2018 X2019
<0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)
我想知道如何将数据保存为数据框,或者如何从列表中提取数据向量,以便我可以运行:
barplot(graph).
Run Code Online (Sandbox Code Playgroud)