如何将数据框中的列转换为 POSIXct class?只有月份和年份
How to turn a column in a data frame to as POSIXct class? Only have month and year
我正在尝试将一组值转换为 POSIXct class,但它一直返回 NA。我只有月份和年份,并且该列的格式为“YYYY-MM”。
这是我拥有的数据片段:
yr_mo
"2012-08"
"2012-08"
"2012-08"
这是我返回 NA 的代码:
yr_mo <- as.POSIXct(strptime(x=yr_mo, format = "%Y-%m", tz= "America/Los_Angeles"))
我尝试了不同的格式,例如 "%Y-%m-%d"
,但没有成功。我也试过 as.Date
也没有用。
我正在尝试为 ArcGIS 准备好这些数据。
你可能会 paste
幻影般的一天。
as.POSIXct(paste0(d$yr_mo, "-01"), tz="GMT")
# [1] "2012-08-01 GMT" "2012-08-01 GMT" "2012-08-01 GMT"
数据:
d <- read.table(text='yr_mo
"2012-08"
"2012-08"
"2012-08"', header=TRUE)
使用lubridate
library(lubridate)
ymd(df$yr_mo, truncated = 1)
#[1] "2012-08-01" "2012-08-01" "2012-08-01"
或转换为POSIXct
ymd_hms(df$yr_mo, truncated = 4)
#[1] "2012-08-01 UTC" "2012-08-01 UTC" "2012-08-01 UTC"
数据
df <- structure(list(yr_mo = c("2012-08", "2012-08", "2012-08")),
class = "data.frame", row.names = c(NA, -3L))
我正在尝试将一组值转换为 POSIXct class,但它一直返回 NA。我只有月份和年份,并且该列的格式为“YYYY-MM”。 这是我拥有的数据片段:
yr_mo
"2012-08"
"2012-08"
"2012-08"
这是我返回 NA 的代码:
yr_mo <- as.POSIXct(strptime(x=yr_mo, format = "%Y-%m", tz= "America/Los_Angeles"))
我尝试了不同的格式,例如 "%Y-%m-%d"
,但没有成功。我也试过 as.Date
也没有用。
我正在尝试为 ArcGIS 准备好这些数据。
你可能会 paste
幻影般的一天。
as.POSIXct(paste0(d$yr_mo, "-01"), tz="GMT")
# [1] "2012-08-01 GMT" "2012-08-01 GMT" "2012-08-01 GMT"
数据:
d <- read.table(text='yr_mo
"2012-08"
"2012-08"
"2012-08"', header=TRUE)
使用lubridate
library(lubridate)
ymd(df$yr_mo, truncated = 1)
#[1] "2012-08-01" "2012-08-01" "2012-08-01"
或转换为POSIXct
ymd_hms(df$yr_mo, truncated = 4)
#[1] "2012-08-01 UTC" "2012-08-01 UTC" "2012-08-01 UTC"
数据
df <- structure(list(yr_mo = c("2012-08", "2012-08", "2012-08")),
class = "data.frame", row.names = c(NA, -3L))