簡體   English   中英

將列擴展為R中的日期

[英]Expand columns into dates in R

我的數據結構如下:

  • 日期H01 H02 ... H48

  • 19年1月1日15,328 15,273 ... 5,241

  • 19年1月2日17,412 17,474 ... 7,625

H01至H48表示同一天內每30分鍾的值。 這不遵循整潔數據的原則。

我只希望有兩列:

  • 日期值
  • 01/01/2019 00:00 15,328
  • 01/01/2019 00:30 15,273
  • 01/01/2019 01:00 ...

我如何在R中獲得它?

謝謝!

該軟件包tidyr使得這很容易與gather功能。

library(dplyr)
library(tidyr)

df <- tibble(Date = c("01-Jan-19", "02-Jan-19"),
             H01 = c(15328, 17412),
             H02 = c(15273, 17474))

times.df <- tibble(Code = c("H01", "H02"),
                       Time = c("00:30", "1:00"))

gather(df, key = "Code", value = "Value", -Date) %>%
  left_join(times.df) %>%
  mutate(DateTime = dmy_hm(paste(Date, Time, sep = " "))) 

# Joining, by = "Code"
# # A tibble: 4 x 5
# Date      Code  Value Time  DateTime           
# <chr>     <chr> <dbl> <chr> <dttm>             
#   1 01-Jan-19 H01   15328 00:30 2019-01-01 00:30:00
# 2 02-Jan-19 H01   17412 00:30 2019-01-02 00:30:00
# 3 01-Jan-19 H02   15273 1:00  2019-01-01 01:00:00
# 4 02-Jan-19 H02   17474 1:00  2019-01-02 01:00:00

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM