将字符转换为日期 (R)
Convert Character into Date (R)
这里我有一个 chr 列 data$month,最初是这样的“1980m10”。
我正在尝试将其转换为日期格式,以便绘制股票 returns 的折线图。
然而当我尝试
as.Date(data$month, "%Ym%m")
它 returns 我只有 NA 值。
我已尝试将列转换为更清晰的格式
data$year = substr(data$month,1,4)
data$mon = substr(data$month,6,8)
library(stringr)
data$month = paste(data$year,'-',data$mon)
as.Date(data$month, "%y - %m")
然而它仍然 returns 我只有 NA 值。不知道如何解决这个问题。
我试过没有格式:
但它说字符串不是标准的明确格式
您可以尝试为日期添加一个默认日期,例如01
,正式约会:
data$year <- substr(data$month, 1, 4)
data$mon <- substr(data$month, 6, 8)
data$date <- as.Date(paste(data$year, data$mon, "01", sep="-"))
查看包含 str_sub
函数的包 ?stringr
R> str_sub(data$month,1,4)
[1] "1980"
另一个潜在的包是 ?substr
包。看看两者。由于您的格式不明确,我建议使用一个只接受前 4 个字符的函数。
这里我有一个 chr 列 data$month,最初是这样的“1980m10”。 我正在尝试将其转换为日期格式,以便绘制股票 returns 的折线图。 然而当我尝试
as.Date(data$month, "%Ym%m")
它 returns 我只有 NA 值。
我已尝试将列转换为更清晰的格式
data$year = substr(data$month,1,4)
data$mon = substr(data$month,6,8)
library(stringr)
data$month = paste(data$year,'-',data$mon)
as.Date(data$month, "%y - %m")
然而它仍然 returns 我只有 NA 值。不知道如何解决这个问题。 我试过没有格式: 但它说字符串不是标准的明确格式
您可以尝试为日期添加一个默认日期,例如01
,正式约会:
data$year <- substr(data$month, 1, 4)
data$mon <- substr(data$month, 6, 8)
data$date <- as.Date(paste(data$year, data$mon, "01", sep="-"))
查看包含 str_sub
函数的包 ?stringr
R> str_sub(data$month,1,4)
[1] "1980"
另一个潜在的包是 ?substr
包。看看两者。由于您的格式不明确,我建议使用一个只接受前 4 个字符的函数。