Разрешение WMA (из пакета TTR) возвращать исходное значение, когда меньше N точек - PullRequest
1 голос
/ 01 октября 2011

При выполнении следующего:

wavData = ddply(wavData, c("primary", "interference", "label"), transform, 
                value = WMA(value,3,wts=1:3))

Некоторые из полученных группировок, созданных ddply, не имеют 3 очков, поэтому я получаю следующую ошибку:

Error in WMA(value, 3, wts = 1:3) : Invalid 'n'

Вопрос: Как я могу разрешить WMA возвращать ОРИГИНАЛЬНЫЕ значения, когда n <3, а не сбой? </p>

1 Ответ

1 голос
/ 01 октября 2011

Как насчет использования ifelse?

wavData = ddply(wavData, c("primary", "interference", "label"), transform, 
            value = ifelse(length(value) < 3, value, WMA(value,3,wts=1:3)))
...