r ddply错误未定义列已选中

时间:2015-01-15 19:37:51

标签: r plyr

我有一个如下所示的时间序列数据集:

age time    income
16 to 24    2004 q1 400
16 to 24    2004 q2 500
…   …   
65 and over 2014 q3 800

每个年龄组的收入数据有不同的60个季度。收入数据是季节性的。我正在尝试应用分解函数来过滤掉趋势。到目前为止,我所做的是下面的内容。但R始终向我抛出错误(错误消息:未定义列选择)。任何想法如何去做?

  fun =function(x){
     ts = ts(x,frequency=4,start=c(2004,1))
     ts.d =decompose(ts,type='additive')
     as.vector(ts.d$trend)
}

  trend.dt = ddply(my.dat,.(age),transform,trend=fun(income))

预期结果是(NA是因为,在分解之后,第一个和最后一个ob将没有值,但其余的应该有)

age        time  income  trend     
16 to 24    2004 q1 400  NA 
16 to 24    2004 q2 500  489
…   …
65 and over 2014 q3 800  760
65 and over 2014 q3 810  NA 

0 个答案:

没有答案