使用R中的read_xlsx读取xlsx文件,第一行作为月 - 年变量

时间:2016-03-10 17:49:55

标签: r data-import

我有一个xlsx数据文件,其中第一行是以格式给出的时间变量(即jan-53 feb-53)。我使用此命令读取数据,但R将非年份转换为数字。以下是我的命令。 wpi_raw<- read_excel("/Users/sonu/Dropbox/vd_ps/wpi_monthly.xlsx",sheet=1, col_names = TRUE,col_types=NULL,na="",skip=0) 请建议如何使用read_excel读取数据。我提供数据的保管箱链接以供参考 <a href="https://www.dropbox.com/s/vpm8hbk63zc1jcd/wpi_monthly.xlsx?dl=0">dpi_monthly</a>

1 个答案:

答案 0 :(得分:1)

从excel导入日期时,您必须将它们从纪元以来的日期转换为您想要的日期......

library("readxl")
tmp <- tempfile(fileext=".xlsx")
download.file("https://www.dropbox.com/s/vpm8hbk63zc1jcd/wpi_monthly.xlsx?dl=1",
              destfile=tmp, mode="wb")
wpi_raw <- read_excel(tmp, sheet=1, col_names = TRUE,col_types=NULL,na="",skip=0)

names(wpi_raw)[2:ncol(wpi_raw)] <- format(as.Date(as.numeric(names(wpi_raw)[2:ncol(wpi_raw)]),
                                           origin="1900-01-01"), "%b-%y")
> names(wpi_raw)
 [1] "commodity" "Apr-53"    "May-53"    "Jun-53"    "Jul-53"   
 [6] "Aug-53"    "Sep-53"    "Oct-53"    "Nov-53"    "Dec-53"   
[11] "Jan-54"    "Feb-54"    "Mar-54"