我试图在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"
有人可以找到我出错的地方吗?
答案 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"