2017-03-13 6 views
1

次のように私はExcelの日付を有する、チャーとしての第1 col1col2からcol5の日付フォーマットである(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は、上記をインポートしようとしましたファイルはreadxlライブラリを使用してRにファイルされ、私の結果は、データフォーマットの数字として示されている日付形式の列名を表示します。

同じ形式のExcel日付列をインポートするには?

答えて

1

カラム名は日付クラスにすることはできません。私たちは、その列名が日付クラスとして行であるので、以下を参照してください、長い形式に広いから作り直すその後、データを読み取ることができます:

# 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 
2

データセットは、Excel形式であるように、我々はその後、read_excelでそれを読むことができ列名を元の形式に変更する

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