将 yyyy 数字数据转换为 R 中的日期格式
Converting yyyy numeric data to date format in R
我有一个数据集,df
其中有一列包含 yyyy 格式的日期(例如:2018 年)。我正在尝试制作时间序列图,因此需要将它们转换为日期格式。
我最初尝试过,df$year <- as.Date(df$year)
但被告知我需要指定来源。
然后我尝试转换为字符,然后是日期格式:
df$year <- as.character(df$year)
df$year <- as.Date(df$year, format = “%Y”)
这似乎有效,但是当它将所有年份更改为 yyyy-mm-dd 格式,并将月和日设置为今天的 4 月 5 日时。例如 2018 变成 2018-04-05。
有没有人知道如何解决这个问题?我希望它从 1 月 1 日开始,而不是我执行转换的那一天。我也试过 strptime(as.character(beer_states$year), “%Y”)
结果相同。
非常感谢任何帮助。谢谢!
在转换为日期之前添加任意日期和月份。
df$Date <- as.Date(paste(df$year, 1, 1), '%Y %m %d')
我们可以使用as.yearmon
library(zoo)
df$Date <- as.Date(as.yearmon(df$year, '-01'), '%Y-%m'))
我有一个数据集,df
其中有一列包含 yyyy 格式的日期(例如:2018 年)。我正在尝试制作时间序列图,因此需要将它们转换为日期格式。
我最初尝试过,df$year <- as.Date(df$year)
但被告知我需要指定来源。
然后我尝试转换为字符,然后是日期格式:
df$year <- as.character(df$year)
df$year <- as.Date(df$year, format = “%Y”)
这似乎有效,但是当它将所有年份更改为 yyyy-mm-dd 格式,并将月和日设置为今天的 4 月 5 日时。例如 2018 变成 2018-04-05。
有没有人知道如何解决这个问题?我希望它从 1 月 1 日开始,而不是我执行转换的那一天。我也试过 strptime(as.character(beer_states$year), “%Y”)
结果相同。
非常感谢任何帮助。谢谢!
在转换为日期之前添加任意日期和月份。
df$Date <- as.Date(paste(df$year, 1, 1), '%Y %m %d')
我们可以使用as.yearmon
library(zoo)
df$Date <- as.Date(as.yearmon(df$year, '-01'), '%Y-%m'))