Hi, Can anyone suggest a clever way to compute a rolling weekly average of the columns in a matrix? The column bit is straightforward use apply given a function which does what you want on a column. With regard to a particular column, the obvious way is to run a for loop indexing the last 7 days and computing the average . I simply would like to know if there is a better / quicker way.
Code: Given a, > a= array(1:100, dim = c(17,2)) > a [,1] [,2] [1,] 1 18 [2,] 2 19 [3,] 3 20 [4,] 4 21 [5,] 5 22 [6,] 6 23 [7,] 7 24 [8,] 8 25 [9,] 9 26 [10,] 10 27 [11,] 11 28 [12,] 12 29 [13,] 13 30 [14,] 14 31 [15,] 15 32 [16,] 16 33 [17,] 17 34 one needs to start computing the average from obs 7 s (at obs 7 you have a full week to compute the average) and compute the rolling weekly average from day 7 onwards Results will look like b [,1] [,2] [1,] 4 14 [2,] 5 21 [3,] 6 22 [4,] 7 23 [5,] 8 24 [6,] 9 25 [7,] 10 26 [8,] 11 27 [9,] 12 28 [10,] 13 29 Thanks in advance, Paolo On 15 November 2010 20:59, wangwallace <talentt...@gmail.com> wrote: > > Hey, > > I am hoping someone can help me with a sampling question. > > I have a data frame of 8 variables (the first column is the subjects' id): > > SubID CSE1 CSE2 CSE3 CSE4 WSE1 WSE2 WSE3 WSE4 > 1 6 5 6 2 6 2 2 4 > 2 6 4 7 2 6 6 2 3 > 3 5 5 5 5 5 5 4 5 > 4 5 4 3 4 4 4 5 2 > 5 5 6 7 5 6 4 4 1 > 6 5 4 3 6 4 3 7 3 > 7 3 6 6 3 6 5 2 1 > 8 3 6 6 3 6 5 4 7 > > the 6 variables are categorized into two groups with CSE1, CSE2, CSE3, and > CSE4 in one group and the rest in another group. > > >sample(data[,2:4],2,replace=FALSE) > > CSE1 CSE2 > 1 6 5 > 2 6 4 > 3 5 5 > 4 5 4 > 5 5 6 > 6 5 4 > 7 3 6 > 8 3 6 > > Now I want to sample 1 column from another group of variables (i.e., WSE1, > WSE2, WSE3, WSE4), but I want to restrict a vector I am going to sample > from > to only those columns that are not correspond to GROUP 1 variables I have > sampled. That is, I want to sample a column from WSE3, WSE4 Columns > corresponding to CSE1 and CSE2 (i.e., WSE1, WSE2) need to be dropped. > > How can I do this? what if I want to repeat this whole process (drawing 2 > random columns from CSE1, CSE2, CSE3, and CSE4 first, AND then another > random column from WSE1, WSE2, WSE3, and WSE4) for 1000 times. any ideas? > > Many thanks in advance!! > > -- > View this message in context: > http://r.789695.n4.nabble.com/Sampling-problem-tp3043804p3043804.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.