[R] fMultivar rollMax question

Diethelm Wuertz
2006-10-02T22:29:45Z

Omar Lakkis wrote:

>I am using fMultivar under R 2.2.1 on a Debian linux box. Could
>someone, please, explain to me why there are two trailing NAs in the
>last statement in the code beow?
>
>
>
>
>>library(fMultivar)
>>x <- 1:20
>>rollMax(x, n=3)
>>
>>
> [1]  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
>
>
>>rollMax(x, n=2)
>>
>>
> [1]  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
>
>
>>rollMax(x, n=1)
>>
>>
> [1]  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 NA NA
>
>

The rolling functions were build for n > 1, which is unfortunately not
mentioned in the
help page. For n=1 you can just call: apply(x, 1, max)

If we want rolling functions which also work for n=1 we have to modify the
code in the following way:

replace in the function rollFun() the following lines

    for (i in 2:n) {
       start = start + 1
       end = end + 1
        m = cbind(m, x[start:end])
   }

with

    if (n > 1) {
        for (i in 2:n) {
            start = start + 1
            end = end + 1
            m = cbind(m, x[start:end])
        }
    } else if (n == 1) {
        m = matrix(m)
    }


Regards DW



>
>______________________________________________
>R-help at stat.math.ethz.ch mailing list
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
>
>
>