【发布时间】:2021-11-28 07:24:06
【问题描述】:
我正在尝试将日期格式应用于数据集中的现有日期列。
我尝试使用跨函数来更改日期格式,但没有成功。我不想创建新列,而是更改现有列中的格式。
下面的例子,
doc_dt <- c('04/22/2021 00:00:00', '05/15/2021 00:00:00')
ship_dt <- c('04/24/2021 00:00:00', '05/18/2021 00:00:00')
qty <- c(10, 20)
df_dt <- data.frame(doc_dt,ship_dt, qty)
col_dt <- c('doc_dt','ship_dt')
format_dt <- df_dt %>%
mutate(
across(col_dt, ~ format(as.POSIXct(.x, format="%m/%d/%Y %H:%M:%S"),"%Y-%m-%d"))
)
【问题讨论】:
-
对我来说似乎工作正常。当您运行上述代码时,您得到的输出是什么?您期望什么?
-
运行这些代码行后,我没有看到更改的格式。奇怪...我希望 mutate 和 cross 函数将格式从“%m/%d/%Y %H:%M:%S”更改为简单的“%Y-%m-%d”提供的列
-
是的,这就是我运行代码时得到的结果。我希望您检查的是
format_dt而不是df_dt中的输出。 -
我正在检查 format_dt ,不知道为什么我没有得到所需的输出......任何自定义函数来完成这个?我想要应用相同格式的日期列太多...
-
它现在也向我展示了想要的结果!我必须在函数
dplyr::across之前显式添加包名称 - 可能是一些包冲突左右。感谢您的帮助
标签: r date formatting