【问题标题】:Converting a dataframe column into datetime format in R在 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)”时,新名称就在那里!我需要帮助。请和谢谢。

【问题讨论】:

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

标签: r type-conversion rename lubridate


【解决方案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"))

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    相关资源
    最近更新 更多