R中的日期时间操作

问题描述 投票:0回答:1

我有一个xlsx文件中的数据集。如附图所示,它包含了一个时间段内的新闻更新。对于每个日期,可以有更多的更新,但日期只列在顶部,而不是作为一个日期时间出现在每一行。如果有任何关于如何在下面的行中附加日期的建议,我将非常感激。也就是说,我希望在每一行上都有一个日期时间戳。我在R Studio中工作

enter image description here

r datetime xlsx
1个回答
0
投票

如果你的非日期数据总是包括 ":" 里面。

    logic <- data.frame(L=rle(!grepl(":",data))$length,
            TF=rle(!grepl(":",data))$value)

    out <- data.frame(Date=rep(data[!grepl(":",data)],logic[logic$TF=="FALSE",1]),
            Other=data[grepl(":",data)])

    out$Date <- as.Date(as.character(out$Date),"%d/%B/%Y")

    out

给。

        Date                        Other
1 2020-05-27 02:02:23 PM - Bla1 Bla1 Bla1
2 2020-05-27 08:20:27 AM - Bla2 Bla2 Bla2
3 2020-05-21 08:04:20 PM - Bla3 Bla3 Bla3

数据:

data <- c("27/May/2020", 
    "02:02:23 PM - Bla1 Bla1 Bla1",
    "08:20:27 AM - Bla2 Bla2 Bla2",
    "21/May/2020",
    "08:04:20 PM - Bla3 Bla3 Bla3")
© www.soinside.com 2019 - 2024. All rights reserved.