我有这个数据集,并尝试将其转换为日期,以便我可以将其绘制为图表:
dput(y)
structure(c(23L, 17L, 41L, 1L, 47L, 35L, 29L, 7L, 63L, 58L, 53L,
12L, 24L, 18L, 42L, 2L, 48L, 36L, 30L, 8L, 64L, 59L, 54L, 13L,
25L, 19L, 43L, 3L, 49L, 37L, 31L, 9L, 65L, 60L, 55L, 14L, 26L,
20L, 44L, 4L, 50L, 38L, 32L, 10L, 66L, 61L, 56L, 15L, 27L, 21L,
45L, 5L, 51L, 39L, 33L, 11L, 67L, 62L, 57L, 16L, 28L, 22L, 46L,
6L, 52L, 40L, 34L), .Label = c("APR-07", "APR-08", "APR-09",
"APR-10", "APR-11", "APR-12", "AUG-07", "AUG-08", "AUG-09", "AUG-10",
"AUG-11", "DEC-07", "DEC-08", "DEC-09", "DEC-10", "DEC-11", "FEB-07",
"FEB-08", "FEB-09", "FEB-10", "FEB-11", "FEB-12", "JAN-07", "JAN-08",
"JAN-09", "JAN-10", "JAN-11", "JAN-12", "JUL-07", "JUL-08", "JUL-09",
"JUL-10", "JUL-11", "JUL-12", "JUN-07", "JUN-08", "JUN-09", "JUN-10",
"JUN-11", "JUN-12", "MAR-07", "MAR-08", "MAR-09", "MAR-10", "MAR-11",
"MAR-12", "MAY-07", "MAY-08", "MAY-09", "MAY-10", "May-11", "MAY-12",
"NOV-07", "NOV-08", "NOV-09", "NOV-10", "NOV-11", "OCT-07", "OCT-08",
"OCT-09", "OCT-10", "OCT-11", "SEP-07", "SEP-08", "SEP-09", "SEP-10",
"SEP-11"), class = "factor")我试过了
y1 <- strptime(y, format = "%b-%y")y1得到了所有的NA,有什么想法吗?
发布于 2012-08-10 04:25:35
您需要一天将其转换为日期:
##Make each date the first of the month
strptime(paste("1", as.character(y)), format="%d %b-%y")发布于 2012-08-10 05:39:29
如果你要定期处理月尺度上的时间序列,你可能还想看看zoo包,它是一个不需要添加“月份的第一天值”的“yearmon”类。它有许多用于绘图和计算的相关方法。广泛使用的'xts‘包是基于'zoo’结构的。
require(zoo)
zym <- as.yearmon(as.character(y), "%b-%y")
str(zym)
#Class 'yearmon' num [1:67] 2007 2007 2007 2007 2007 ...
head(zym)
#[1] "Jan 2007" "Feb 2007" "Mar 2007" "Apr 2007" "May 2007" "Jun 2007"
format(head(zym), "%b %y")
#[1] "Jan 07" "Feb 07" "Mar 07" "Apr 07" "May 07" "Jun 07"https://stackoverflow.com/questions/11891321
复制相似问题