我有一个约会时间,我正在尝试删除和清理。我不确定是否有开箱即用的东西。我做了一些搜索但找不到任何东西。日期格式为..
2017-01-01T01:36:17.000Z
可重现的示例:
StartDate <- c("2017-01-01T01:36:17.000Z", "2017-01-01T01:36:17.000Z")
Num <- c(1,2)
DataFrame <- data_frame(Num, StartDate)
我已通过执行以下操作修复了该问题
require(dplyr)
require(tidyr)
require(lubridate)
DataFrame <- DataFrame %>%
separate(StartDate , into = c("NewDate", "tail"), sep = "T") %>%
mutate(NewDate= ymd(NewDate)) %>%
select(-tail)
我想做的是将它变成一个函数,这样我就可以在需要时通过管道传递它。
我想出了以下内容,但未能使其发挥作用。我还尝试了separate_和mutate_的变体。但仍然没有运气。
ztime <- function(df, datecol, newcol) {
library(lubridate)
library(tidyr)
library(dplyr)
df <- df %>%
separate_(datecol, into = c(newcol, "extra"), sep = "T") #%>%
mutate_(newcol = ymd(newcol)) %>%
select(-extra)
}
希望大家多多指教!预先感谢您
最佳答案
为什么不从 lubridate 调用 as_date
?
dater <- function(x){
lubridate::as_date(x)
}
dater("2017-01-01T01:36:17.000Z")
[1] "2017-01-01"
最佳
科林
关于r - 创建函数来格式化数据框中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45312653/