在 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 中将数据框列转换为日期时间格式的主要内容,如果未能解决你的问题,请参考以下文章
将日期时间数据的数据框列转换为 DD/MM/YYYY 字符串数据
如何在 .Net / C# 中将日期转换为 HTTP 格式的日期