julian date as.date

时间:2013-04-19 09:32:00

标签: macos r linear-regression julian-date

我试图在R(mac OSX)中运行一个简单的回归,看看环境认证的水平是否随着时间的推移而有所改善 - 除其他外。我下载的数据提供1-4级的级别,以及1-Mar-12格式的日期。我似乎无法让R转换日期,并且我一直收到相同的错误消息。变量长度相同。

$ certification_date: chr  "1-Aug-11" "1-Aug-11" "1-Aug-11" "1-Jul-11" ...

jday<-as.Date('certification_date',format='%d-%b-%y',"%j")
mod <- lm(Level_number ~ jday, data=data)

Error in model.frame.default(formula = Level_number ~ jday, data = data,  : 
  variable lengths differ (found for 'jday')

summary(jday)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  NA      NA      NA      NA      NA      NA     "1" 

有人可以找到我出错的地方吗?

1 个答案:

答案 0 :(得分:0)

您应该删除评论中提到的certification_date周围的引号,但%b是当前语言环境中的缩写月份名称。所以你可以与当地人有另一个问题。在这里,我提出了一个独立的本地解决方案:

## get your current local time
loc <- Sys.getlocale('LC_TIME')  
## set the local to english , since %b is local dependent 
Sys.setlocale('LC_TIME','ENGLISH')
jday <-as.Date(certification_date,format='%d-%b-%y',"%j")
Sys.setlocale('LC_TIME',loc)

结果是:

jday
[1] "2011-08-01" "2011-08-01" "2011-08-01" "2011-07-01"