重塑R中奇怪的月/日数据框

时间:2018-10-04 16:08:38

标签: r dataframe import

我想将具有以下结构的txt文件导入R中的数据框:

Year 1 
Day  Jan  Feb Mar ... Dec
1
2
3`
..
31

但是,数据的怪异结构(列中的月份,从第2列到第13列中的月份,行中的1到31天中的几天)使其具有挑战性。我想要一个带有日期变量(dd-mm)和值变量的数据框

1 个答案:

答案 0 :(得分:0)

这看起来像一个制表符分隔的文档。但是,在解析时添加了一些额外的列。 readr是一个可以帮助您解析的软件包。另外,我想您想将宽格式转换为长格式。如果是这种情况,那么tidyr是您的朋友

data <- read_tsv('      Nov     Dec     Jan     Feb     Mar     Apr     May     Jun     Jul     Aug     Sep     Oct     

1       -       -       -       442.328     -       -       675.653     652.236     512.411     462.336     431.440     373.112     
2       -       -       -       437.207     -       -       659.082     649.690     512.661     459.944     431.440     373.326     
3       -       -       -       432.130     -       -       663.897     642.369     513.164     458.285     426.627     373.326     
4       -       -       -       429.144     -       -       665.892     640.122     518.193     454.500     423.660     373.326     
5       -       -       -       428.235     -       -       665.892     640.122     518.697     454.028     420.931     373.540     
6       -       -       -       448.891     -       -       666.749     641.806     518.697     450.264     418.437     375.681     
7       -       -       -       481.933     -       -       664.176     643.210     513.726     448.385     418.210     375.467') %>%
  select(-X2, -X15) %>%
  rename(day = X1) 

data %>%
  gather(key = month, value = value, -day)