[R] Breaking up a vector
AOLeary
aodhanol at gmail.com
Fri May 25 17:29:27 CEST 2012
Hi all,
My problem is as follows:
I want to run a loop which calculates two values and stores them in vectors
r and rv, respectively.
They're calculated from some vector x with length a multiple of 7.
x <- c(1:2058)
I need to difference the values but it would be incorrect to difference it
all in x, it has to be broken up first. I've tried the following:
r <- c(1:294)*0
rv <- c(1:294)*0
#RUN A LOOP WHERE YOU INPUT THE lx[(i-1)*7:i*7] INTO Z
for (i in 1:294){
#CREATE A NEW VECTOR OF LENGTH 7
z <- NULL
length(z)=7
dz <- NULL
dz2 <- NULL
#STORE THE VALUES IN z
z <- lx[1+(i-1)*7:(i)*7]
#THEN DIFFERENCE THOSE
#THIS IS r_t,i,m
dz=diff(z)
#SUM THIS UP AND STORE IT IN r, THIS IS r_t
r[i] <- sum(dz)
#SUM UP THE SQUARES AND STORE IT IN rv, THIS IS RV_t
dz2 <- dz^2
rv[i] <- sum(dz2)
#END THE LOOP
}
However, the window seems to expand for some reason, so z ends up being a
much longer vector than it should be and full of NAs.
Any help or advice is much appreciated.
Aodhán
--
View this message in context: http://r.789695.n4.nabble.com/Breaking-up-a-vector-tp4631329.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list