Hi,

I have a long data file with time data that change to wide format using reshape. 
The data contain Values and Factors. Some values are missing but can be obtained 
by multiplying value of year T-1 with Factor of year T. Sometimes, multiple 
succesive years have no values, so the calculated values need to be calculated 
sequentially. 


# sample data.
DF <- data.frame(Var=rep(letters, 10), 
    Fac=rep(runif(26), 10), 
    Val=rep(runif(26), 10), 
    Year=rep(2000:2009, 26))
DF[as.numeric(rownames(DF)) %% 3 == 0,"Val"] <- NA # make some holes
DF2 <- cast(melt(DF, id=c("Var", "Year")), ... ~ variable + Year, fun=mean, 
na.rm=T)

# my attempt
library(reshape)
prev <- grep("Val_", names(DF2)) - 1
this <- grep("Fac_", names(DF2))
DF3 <- DF2
DF3[, prev] <- mapply("*", DF2[, this], DF2[, prev])

 
This doesn't work. Another option would be to use two loops for cols and rows, 
but I didn't get that to work either :-(

Suggestions for clean code, anyone?

Thank you in advance!

Cheers!!
Albert-Jan


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
All right, but apart from the sanitation, the medicine, education, wine, public 
order, irrigation, roads, a fresh water system, and public health, what have the 
Romans ever done for us?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	[[alternative HTML version deleted]]

