Try using a loop like the following dat0 <- read.table("time1.dat") id <- c("e1dq", "e1arcp", "e1dev", "s1prcp", "s1nrcp","s1ints","a1gpar", "a1pias", "a1devt")
for (a in 1:length(id)) { dat0[dat0$id[a]==-999.00000000,as.character(id[a])] <- NA } -- Muhammad Rahiz Researcher & DPhil Candidate (Climate Systems & Policy) School of Geography & the Environment University of Oxford On Wed, 30 Mar 2011, Christopher Desjardins wrote:
Hi, I am trying to write a loop to recode my data from -999 to NA in R. What's the most efficient way to do this? Below is what I'm presently doing, which is inefficient. Thanks, Chris dat0 <- read.table("time1.dat") colnames(dat0) <- c("e1dq", "e1arcp", "e1dev", "s1prcp", "s1nrcp", "s1ints", "a1gpar", "a1pias", "a1devt") dat0[dat0$e1dq==-999.00000000,"e1dq"] <- NA dat0[dat0$e1arcp==-999.00000000,"e1arcp"] <- NA dat0[dat0$e1dev==-999.00000000,"e1dev"] <- NA dat0[dat0$s1prcp==-999.00000000,"s1prcp"] <- NA dat0[dat0$s1nrcp==-999.00000000,"s1nrcp"] <- NA dat0[dat0$s1ints==-999.00000000,"s1ints"] <- NA dat0[dat0$a1gpar==-999.00000000,"a1gpar"] <- NA dat0[dat0$a1pias==-999.00000000,"a1pias"] <- NA dat0[dat0$a1devt==-999.00000000,"a1devt"] <- NA [[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.
______________________________________________ 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.