Read column names as date format

烂漫一生 提交于 2020-01-30 06:33:04

问题


I have date in Excel as follows, first col1 as char and from col2 to col5 is in date format (mm/dd/yyyy)

id   1/1/2016   2/1/2016  3/1/2016  4/1/2016  5/1/2016
1     23         545       33         55          66
2     454        536       66         80          11
3     83         585        9         10          19

I tried to import the above file in to R using readxl library, and my result shows column names which are in date format shows as number in dataset,

How to import Excel date column with same format?


回答1:


As the dataset is in excel format, we can read it with read_excel and then change the column names to its original format

library(readxl)
library(dplyr)
read_excel("yourdata.xlsx" %>% 
    setNames(., c('id', format(as.Date(as.numeric(names(.)[-1]), 
                   origin = '1899-12-30'), '%m/%d/%Y')))



回答2:


Column names cannot be date class. We could read the data then reshape from wide to long format, so that column names are in rows as date class, see below:

# Save Excel sheet as CSV, then read the data with the headers and without checking the names for columns.
df1 <- read.table(text="id   1/1/2016   2/1/2016  3/1/2016  4/1/2016  5/1/2016
1     23         545       33         55          66
2     454        536       66         80          11
3     83         585        9         10          19",
                  header = TRUE, check.names = FALSE)


library(dplyr)
library(tidyr)

df1 %>%
  gather(myDate, value, -id) %>% 
  mutate(myDate = as.Date(myDate, format = "%d/%m/%Y"))

#    id     myDate value
# 1   1 2016-01-01    23
# 2   2 2016-01-01   454
# 3   3 2016-01-01    83
# 4   1 2016-01-02   545
# 5   2 2016-01-02   536
# 6   3 2016-01-02   585
# 7   1 2016-01-03    33
# 8   2 2016-01-03    66
# 9   3 2016-01-03     9
# 10  1 2016-01-04    55
# 11  2 2016-01-04    80
# 12  3 2016-01-04    10
# 13  1 2016-01-05    66
# 14  2 2016-01-05    11
# 15  3 2016-01-05    19


来源:https://stackoverflow.com/questions/42757553/read-column-names-as-date-format

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!