【发布时间】:2019-08-28 16:36:49
【问题描述】:
我通过 openxlsx 将数据集导入到数据框中。电子表格有各种字段,包括几个日期字段。在这些日期字段中有一些字符——特别是“A”和“*”。所以我的数据集是这样的:
一个 | 43998
B | 44316
C | 44284
D | 2019 年 3 月 11 日
E | 44323
F | 20 年 7 月 29 日*
我正在使用多个日期字段,并且正在寻找一种快速修复它们的方法(而不是过滤、str_replacing、然后更改数据类型和重新绑定)。
我一直在寻找 lubridate,但当日期出现如此不同时,我找不到方法。
library(openxlsx)
library(lubridate)
data <- read.xlsx(file)
data2 <- data %>% mutate(fixed_date1 = ifelse(str_detect(date1,
" A")==TRUE,as.Date(date1, guess_formats(date1,
"dmy")),as.Date(as.numeric(date1)-2,origin = "1900-01-01")))
这仍然不能解释浮在其中的星号,我想我必须在 ifelse 语句中构建一个 str_detect(date1, "\\*") 行...
我只是希望找到一种方法将其应用到每一列中一次滑动。
提前致谢。
【问题讨论】:
-
尝试使用来自
lubridate的parse_date_time或来自anytime的anydate