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]]

______________________________________________
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.

Reply via email to