首页 > 解决方案 > 使用 as.Date() 在 R 中迄今为止的字符,但给出的答案是一次又一次的相同日期

问题描述

我正在尝试将我的列命名为 Date18 从字符到日期,但我可以通过使用该函数得到的答案as.Date()是非常不同的。此外,我有大量的价值观样本。

str(coo)
'data.frame':   7698 obs. of  2 variables:

 $ Date18: chr  "1/3/2018 9:06" "1/3/2018 10:14" "1/3/2018 10:19" "1/3/2018 10:30" ...

 $ Amount: num  21 16.8 10.5 43.7 4.2 ...

coo$Date18=as.Date(coo$Date18)

str(coo)

'data.frame':   7698 obs. of  2 variables:

 $ Date18: Date, format: "0001-03-20" "0001-03-20" ...

 $ Amount: num  21 16.8 10.5 43.7 4.2 ...

您可以看到日期的格式发生了变化。如何转换日期但我的值不会改变?

标签: rdatecharacterlarge-dataas.date

解决方案


使用as.Date,我们需要指定format如果不是默认格式 ( "%Y-%m-%d")

as.Date(coo$Date18, "%m/%d/%Y %H:%M")

注意:这里似乎是一个月然后一天。如果是日然后月,请使用as.Date(coo$Date18, "%d/%m/%Y %H:%M"). 此外,请记住,Y如果年份是四个数字,例如 2001,则必须大写;如果年份是两个数字,例如 01,则必须小写。


推荐阅读