cor(x,y), когда x соответствует POSIXct

Я рассчитываю линейную регрессию между вектором возраста (числовым) и вектором даты (POSIXct). Как удобнее всего преобразовать дату, чтобы cor ею удовлетворился?


person dmvianna    schedule 02.10.2012    source источник
comment
как насчет as.numeric()? Я не знаю, какое влияние это может оказать на интерпретацию... но это должно удовлетворить cor().   -  person Chase    schedule 02.10.2012
comment
Конечно, вы можете, но должны?   -  person Joshua Ulrich    schedule 02.10.2012
comment
возможно, вам лучше изучить модель временного ряда, начиная с arima()?   -  person Chase    schedule 02.10.2012
comment
@dmvianna, что вы пытаетесь проверить с помощью этого анализа?   -  person Paul Hiemstra    schedule 02.10.2012
comment
@PaulHiemstra, H1: люди, присоединившиеся к этой организации совсем недавно, как правило, уходят в отставку раньше. Таким образом, для оси x у меня есть дата вступления, а для оси y — продолжительность членства (с даты вступления до даты выхода в отставку).   -  person dmvianna    schedule 03.10.2012


Ответы (1)


Как упоминалось в комментарии @Chase, вы можете напрямую использовать свои даты в cor, если преобразуете их в числовые объекты с помощью as.numeric.

#First some dummy data:
age<-ceiling(runif(20,min=25,max=45))
joindate<-sample(seq(as.Date("01/01/1990","%d/%m/%Y"), 
                     as.Date("31/12/2010","%d/%m/%Y"), by="day"), 20)
age
[1] 35 33 33 30 39 30 32 26 45 37 28 44 35 31 39 44 44 40 29 39
joindate
 [1] "1999-07-03" "2006-08-09" "2001-11-22" "2003-02-11" "1991-06-23" "2007-04-20" "1993-04-28" "1997-04-08" "1999-08-16"
[10] "2005-02-17" "2002-11-01" "1991-09-17" "2006-05-03" "1995-12-02" "2007-06-20" "2000-02-26" "2005-10-01" "1997-06-13"
[19] "2007-06-09" "1994-11-27"

as.numeric(joindate) 
# Dates are transformed into a number that corresponds to the number of days since the origin date (as a convention the 1970/01/01)
 [1] 10775 13369 11648 12094  7843 13623  8518  9959 10819 12831 11992  7929 13271  9466 13684 11013 13057 10025 13673  9096

cor.test(age, as.numeric(joindate))

    Pearson's product-moment correlation

data:  age and as.numeric(joindate) 
t = -0.9641, df = 18, p-value = 0.3478
alternative hypothesis: true correlation is not equal to 0 
95 percent confidence interval:
 -0.6048037  0.2449517 
sample estimates:
       cor 
-0.2215884 
person plannapus    schedule 19.10.2012