【发布时间】:2017-10-11 19:39:48
【问题描述】:
我正在尝试使用来自 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)
但是,数据保存为列表:
typeof(base)
[1] "list"
而且我不知道如何提取数据来制作条形图。例如,我想为国家“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)
我想知道如何将数据保存为数据框,或者如何从列表中提取数据向量,以便运行:
barplot(graph).
【问题讨论】:
-
重复引用 .xlsx 文件的标题,但那里提供的解决方案通常也适用于这些和较旧的 .xls 文件。
-
对于任何data.frame,它都是真的
typeof(base)=="list"。使用class(),而不是typeof()来查看对象的行为方式,而不是它的存储方式。我猜class(base)是“data.frame” -
对于第二个问题,“ARG”作为国家没有“NGDP_RPCH”。您确定“NGDP_RPCH”是正确的变量吗?
-
Excel 文件 228:213 ARG NGDP_RPCH Argentina
标签: r excel dataframe bar-chart