在R代表泰尔森

问题描述:

使用日期,我想使用日期作为一个泰尔森斜率估计我的X变量,我使用R包ZYP在R代表泰尔森

library(zyp) 

myDates <- as.Date(c("2009-11-24","2009-12-03","2010-01-19","2010-02-18","2010-03-04")) 
myData <- c(10.17,10.91,11.72,12.5,13.43) 
a <- c("a","b","c","d","e") 
df = data.frame(a,myData,myDates) 
zyp.sen(myDates~myData, df) 

然后我得到了有困难以下错误:

Error in `+.Date`(y - slope * x, intercept) : 
     binary + is not defined for "Date" objects 

我也尝试使用zyp.trend.dataframe(df, 1)和我基本上就没什么:

a lbound trend trendp ubound tau sig nruns autocor valid_frac linear intercept 
    1 a  NA NA  NA  NA NA NA NA  NA   NA  NA  NA 
    2 b  NA NA  NA  NA NA NA NA  NA   NA  NA  NA 
    3 c  NA NA  NA  NA NA NA NA  NA   NA  NA  NA 
    4 d  NA NA  NA  NA NA NA NA  NA   NA  NA  NA 
    5 e  NA NA  NA  NA NA NA NA  NA   NA  NA  NA 

我假设我正在访问zyp不正确。有谁知道我做错了什么?

TIA

+0

从未使用过ZYP包,但我会看看文档zyp.sen。该错误表示它不喜欢日期对象,因此请检查该方法的有效类型。 – DMT 2014-10-03 21:49:00

+1

刚刚看过文档,不是非常具有描述性,但我会以整数形式传递日期,然后在您想保留日期后再转换回来。 http://cran.r-project.org/web/packages/zyp/zyp.pdf – DMT 2014-10-03 21:50:29

+0

嗯。在zyp文档中,我认为“zyp.trend.dataframe:倾向于每单位时间的森的斜率(趋势)”作为时间(例如日期),您认为这是错误的吗? – user918967 2014-10-03 21:52:36

将日期转换到其潜在的整数值应该会成功:

myDates <- as.integer( 
as.Date(c("2009-11-24","2009-12-03","2010-01-19","2010-02-18","2010-03-04"))) 
myData <- c(10.17,10.91,11.72,12.5,13.43) 
a <- c("a","b","c","d","e") 
df = data.frame(a,myData,myDates) 
zyp.sen(myDates~myData, df) 

Call: 
NULL 

Coefficients: 
Intercept  myData 
14204.66  36.12 
+0

原来我们有一个类似的想法。 myDateDay user918967 2014-10-04 02:24:08