如何将Excel文件作为数据框读取

时间:2017-10-11 19:39:49

标签: r excel dataframe bar-chart

我试图用国际货币基金组织的数据制作一些条形图。我尝试用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"

而且我不知道如何提取数据来制作条形图。例如,我想绘制变量&#34; NGDP_RPCH&#34;,用于国家&#34; ARG&#34;和2010-2019年(excel中的第40-49栏)。

我尝试了这个,但它没有工作:

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

1 个答案:

答案 0 :(得分:3)

首先,使用适当的工具导入Excel文件。这可能包括 readxl openxlsx XLConnect xlsx

library(readxl)
base <- read_excel("~/Desktop/WEOOct2017all.xls")

然后使用[[选择一个列,而不是[

graph <- base[which((base[[2]]=="ARG")&(base[[3]]=='NGDP_RPCH')),40:49]

并转换为矩阵以使用barplot

barplot(as.matrix(graph))