Try this: > x V1 V2 V3 V4 1 PROBE 1 2.5 UP 2 PROBE 2 1.0 UP 3 PROBE 3 1.4 DOWN 4 PROBE 4 2.0 UP 5 PROBE 5 1.3 DOWN
x$V3[which(x$V4 == "DOWN") - 1] <- x$V3[which(x$V4 == "DOWN") - 1] * -1 On Mon, Dec 27, 2010 at 4:11 PM, R_novice <kaso...@battelle.org> wrote: > > Hi, > > I have a matrix with numbers and character. I want to evaluate each cell > and > change the value of the cell before it depending on the evaluation. My > evaluation: if a cell had the word "down" change the cell preceding it to a > negative number by multiplying that value by a -1. I am have trouble going > back on clumn to make this change. I'm receiving an error on the j-1 part, > and the "down" cells are converted to 'NA'. > A sample of my data matrix and code are pasted below. Any suggestions would > be appreciated. Thanks! > > Data: > > PROBE 1 2.5 UP > PROBE 2 1 UP > PROBE 3 1.4 DOWN > PROBE 4 2.0 UP > PROBE 5 1.3 DOWN > > #TAKE PART OF MATRIX > CEM1_PARTIAL <- CEM1[1:3,1:5] > > for(j in 1:ncol(CEM1_PARTIAL)) > { > for(i in 1:nrow(CEM1_PARTIAL)) > { > if(CEM1_PARTIAL[i,j] == "down") > {CEM1_PARTIAL[i,j-1]= CEM1_PARTIAL[i,j-1] * -1;} > } > } > > error: > Warning messages: > 1: In Ops.factor(CEM1_PARTIAL[i, j - 1], -1) : > * not meaningful for factors > 2: In Ops.factor(CEM1_PARTIAL[i, j - 1], -1) : > * not meaningful for factors > 3: In Ops.factor(CEM1_PARTIAL[i, j - 1], -1) : > * not meaningful for factors > 4: In Ops.factor(CEM1_PARTIAL[i, j - 1], -1) : > * not meaningful for factors > 5: In Ops.factor(CEM1_PARTIAL[i, j - 1], -1) : > * not meaningful for factors > 6: In Ops.factor(CEM1_PARTIAL[i, j - 1], -1) : > * not meaningful for factors > > -- > View this message in context: > http://r.789695.n4.nabble.com/matrix-looping-accessing-previous-column-tp3165308p3165308.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 > and provide commented, minimal, self-contained, reproducible code. > -- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[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.