在 R 中将数据框列转换为日期时间格式

Posted

技术标签:

【中文标题】在 R 中将数据框列转换为日期时间格式【英文标题】:Converting a dataframe column into datetime format in R 【发布时间】:2022-01-22 10:38:57 【问题描述】:

所以我是 R 新手,正在研究这个实践案例研究,但我被困住了!我有 3 个数据框,我需要绑定它们,但在此之前,我正在重命名列并将数据类型转换为相同的类型。

首先,我已重命名列,但对此我有疑问:

str(df)

返回:

$ old_column_name : Date[1:704054], format: NA NA NA ...

- attr(*, "spec")=
.. cols(
       new_column_name = col_character()
..)

当我运行 colnames(df) 时,确实会显示新的列名,但是当我尝试使用新名称进行转换时,它会抛出一个错误,提示“未知或未初始化的列”

我正在尝试将字符列转换为日期时间格式,以匹配我需要绑定的其他两个 df。这是我一直在使用的代码,安装了库 tidyverse 和 lubridate:

df <- mutate(df, new_column_name = as.Date.POSIXct(df$new_column_name,
 format = "%Y-%m-%dT%H:%M"))

再次,这会引发错误“未知或未初始化的列”,但是当我“colnames(df)”时,新名称就在那里!我需要帮助。请和谢谢。

【问题讨论】:

您好,欢迎您!请在修改之前提供原始df 的reproducible example(“reprex”)。您可以将dput(df) 用于完整数据集,或者将dput(head(df, 10)) 用于前(比如)10 行;并将dput() 的输出直接粘贴到您的 Stack Overflow 问题中。 【参考方案1】:

我不太确定您希望日期的格式,但试试这个:

library(dplyr)
new_df <- df %>%
  rename(new_column_name = old_column_name) %>%
  mutate(new_column_name = as.POSIXct(new_column_name, format = "%Y-%m-%dT%H:%M"))

【讨论】:

以上是关于在 R 中将数据框列转换为日期时间格式的主要内容,如果未能解决你的问题,请参考以下文章

在R中将日期转换为特定格式的字符

将日期时间数据的数据框列转换为 DD/MM/YYYY 字符串数据

如何在 .Net / C# 中将日期转换为 HTTP 格式的日期

怎么在Oracle中将时间戳转化为日期格式

在熊猫数据框中将不同的日期时间格式转换为 MM/DD/YYYY 格式

如何在Oracle中将时间戳转化为日期格式