[R] How to replace a column in a data frame with another one with a different size
Stathis Kamperis
ekamperi at gmail.com
Sun Jul 8 16:31:58 CEST 2012
Hello everyone,
I have a dataframe with 1 column and I'd like to replace that column
with a moving average.
Example:
> library('zoo')
> mydat <- seq_len(10)
> mydat
[1] 1 2 3 4 5 6 7 8 9 10
> df <- data.frame("V1" = mydat)
> df
V1
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
> df[df$V1 <- rollapply(df$V1, 3, mean)]
Error in `$<-.data.frame`(`*tmp*`, "V1", value = c(2, 3, 4, 5, 6, 7, 8, :
replacement has 8 rows, data has 10
>
I could use a temporary variable to store the results of rollapply()
and then reconstruct the data frame, but I was wondering if there is a
one-liner that can achieve the same thing.
Best regards,
Stathis
P.S. If you don't mind, cc me at your reply because I'm not subscribed
to the list (but I will check the archive anyway).
More information about the R-help
mailing list