使用as.Date转换为日期会生成NA

时间:2014-03-13 20:51:13

标签: r

好的,这是我在数据框中的示例

months   other_column1   other_column2    ...
01-1912  ...             ...
02-1912  ...             ...
03-1912  ...             ...
...

现在,我正在尝试将列“months”转换为时间序列的索引,因此我正在尝试将其作为Date对象:

dates <- as.Date(df$months, format="%m-%Y")

这没有任何错误消息,但我得到的是一个充满NA而不是日期的向量。有任何想法吗?您是否需要更多信息,不知道该说些什么呢?

R的新手,似乎相当强大,所以我正在努力学习一些。感谢。

1 个答案:

答案 0 :(得分:0)

正如你所说,你需要在这个月的最后一天 请https://stackoverflow.com/a/8334531/2747709

提供@DirkEddelBuettel礼貌
seq(as.Date("YYYY-MM-DD"), length="No. of Months", by="1 month") - 1

让我们从头开始创建您的数据

data.foo <- data.frame(months=c("01-1912","02-1912","03-1912"),col1=rnorm(3),col2=rnorm(3))
#creating dates, note the format
data.foo$dates <-as.Date(paste("01",data.foo$months,sep="-"),"%d-%m-%Y") 
#getting the last date using code above
data.foo$lastday <- seq(as.Date(data.foo$dates)[2],length=nrow(data.foo), by ="1 month") -1