Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R将系数yyy-MM转换为日期_R_Date - Fatal编程技术网

R将系数yyy-MM转换为日期

R将系数yyy-MM转换为日期,r,date,R,Date,我有一个数据框,日期格式为YYYY-MM,class factor,我正在尝试将其转换为class date 我试过: Date <- c("2015-08","2015-09","2015-08") Val <- c(1,2,3) df <- data.frame(Date,Val) df[,1] <- as.POSIXct(as.character(df[,1]), format = "%Y-%m")  df DateR不支持“%Y-%m”格式的日期。。。需要一

我有一个数据框,日期格式为YYYY-MM,class factor,我正在尝试将其转换为class date

我试过:

Date <- c("2015-08","2015-09","2015-08")
Val <- c(1,2,3)
df <- data.frame(Date,Val)


df[,1] <- as.POSIXct(as.character(df[,1]), format = "%Y-%m") 
df

DateR不支持“%Y-%m”格式的日期。。。需要一天的时间

您可以执行以下操作:

as.POSIXct(paste0(as.character(df[,1]),"-01"), format = "%Y-%m-%d")
导致

"2015-08-01 CEST" "2015-09-01 CEST" "2015-08-01 CEST"

R不支持“%Y-%m”格式的日期。。。需要一天的时间

您可以执行以下操作:

as.POSIXct(paste0(as.character(df[,1]),"-01"), format = "%Y-%m-%d")
导致

"2015-08-01 CEST" "2015-09-01 CEST" "2015-08-01 CEST"
1)将日期转换为zoo的
“yearmon”
类,然后转换为
“Date”
类:

> library(zoo)
> transform(df, Date = as.Date(as.yearmon(Date)))
        Date Val
1 2015-08-01   1
2 2015-09-01   2
3 2015-08-01   3
问题没有指定转换为哪个日期,所以我们使用了月份的第一天。如果本月最后一个月被通缉,我们可以用这个来代替:

transform(df, Date = as.Date(as.yearmon(Date), frac = 1))
2)不使用zoo的另一种可能性是自己添加月份的日期,然后转换为
“日期”

> transform(df, Date = paste(Date, 1, sep = "-"))
        Date Val
1 2015-08-01   1
2 2015-09-01   2
3 2015-08-01   3
3)或者,可能只想直接使用
“yearmon”
,因为它直接建模年份和月份,没有日期

> library(zoo)
> transform(df, Date = as.yearmon(Date))
      Date Val
1 Aug 2015   1
2 Sep 2015   2
3 Aug 2015   3
注意:不要使用
“POSIXct”
类,因为这会产生与时区相关的结果,如果不小心,可能会导致细微错误。一个时区中的日期不一定与另一个时区中的日期相同。

1)将日期转换为动物园的
“yearmon”
类,然后转换为
“date”
类:

> library(zoo)
> transform(df, Date = as.Date(as.yearmon(Date)))
        Date Val
1 2015-08-01   1
2 2015-09-01   2
3 2015-08-01   3
问题没有指定转换为哪个日期,所以我们使用了月份的第一天。如果本月最后一个月被通缉,我们可以用这个来代替:

transform(df, Date = as.Date(as.yearmon(Date), frac = 1))
2)不使用zoo的另一种可能性是自己添加月份的日期,然后转换为
“日期”

> transform(df, Date = paste(Date, 1, sep = "-"))
        Date Val
1 2015-08-01   1
2 2015-09-01   2
3 2015-08-01   3
3)或者,可能只想直接使用
“yearmon”
,因为它直接建模年份和月份,没有日期

> library(zoo)
> transform(df, Date = as.yearmon(Date))
      Date Val
1 Aug 2015   1
2 Sep 2015   2
3 Aug 2015   3

注意:不要使用
“POSIXct”
类,因为这会产生与时区相关的结果,如果不小心,可能会导致细微错误。一个时区的日期不一定与另一个时区的日期相同。

您需要一天来确定日期。2015年8月不是一个日期。谷歌“日期定义”相关/可能重复的你需要一天才能有一个日期。2015年8月不是一个日期。谷歌“日期定义”相关/可能重复