R 编程中的日期数据类型

问题描述 投票:0回答:1

我目前正在研究谷歌数据分析顶点循环。 我要添加一个名为“日期”、“日”、“月”和“年”的列。 我已经安装了必要的软件包。 我有一个名为 $started_at 的列,其中包含格式为“4/26/2020 17:45”的日期和时间,并且采用 chr (字符)格式 我这样输入代码

df$date<-as.Date(df$started_at)

输出说 海图日期错误 (x) 字符串不是标准的明确格式

我也尝试过

df$date<-as.Date(df$started_at,format = "%y%m%d")

日期栏带来 NA

我也尝试过

df$started_at = strptime(df$started_at,"%y-%m-
%d %H: %M: %S")

这个的输出也是NA

有什么问题

我目前正在研究 Google 数据分析顶点循环。

我要添加一个名为日期、日、月和年的列。

我已经安装了必要的软件包。

我有一个名为 $started_at 的列,其中包含格式为“4/26/2020 17:45”的日期和时间,并且采用 chr(字符)格式

我输入这样的代码


df$date<-as.Date(df$started_at)

输出说

图表日期(x)中的错误

字符串不是标准的明确格式

我也尝试过


df$date<-as.Date(df$started_at,format = "%y%m%d")

日期栏带来 NA

我也尝试过


df$started_at = strptime(df$started_at,"%y-%m-

%d %H: %M: %S")

这个的输出也是NA

有什么问题

date character lubridate strptime rdata
1个回答
0
投票

问题是您的started_at列是datetime,而不是日期。要将其转换为日期,您必须使用 strptime 格式化语法:

传入格式
df$started_at <- as.POSIXct(df$started_at, format = "%m/%d/%Y %H:%M") |> as.Date()
# or
df$started_at <- as.Date(df$started_at, format = "%m/%d/%Y %H:%M")
#or
library(lubridate)
mdy_hm(df$started_at) |> as_date()

数据:

df <- data.frame(
  started_at = "4/26/2020 17:45")
© www.soinside.com 2019 - 2024. All rights reserved.