R 中的日期时间操作
Datetime manipulation in R
我在 xlsx 文件中有一个数据集。如所附图片所示,它包含一段时间内的新闻更新。每个日期都可以有更多更新,但日期仅列在顶部,不会作为日期时间出现在每一行中。任何有关如何将日期附加到以下行的建议将不胜感激。也就是说,我希望在每一行上都有一个日期时间戳。我在 R Studio
工作
如果您的非日期数据始终包含 ":"。
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")
我在 xlsx 文件中有一个数据集。如所附图片所示,它包含一段时间内的新闻更新。每个日期都可以有更多更新,但日期仅列在顶部,不会作为日期时间出现在每一行中。任何有关如何将日期附加到以下行的建议将不胜感激。也就是说,我希望在每一行上都有一个日期时间戳。我在 R Studio
工作如果您的非日期数据始终包含 ":"。
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")