[R] if else condition - help

Adrian Johnson oriolebaltimore at gmail.com
Sun May 22 19:58:24 CEST 2016


Hi group:
I am having difficulty with if else condition. I kindly request some help.

I have a matrix k

> k
           C1         C2         C3         C4
A  0.09902175 -0.1083887  0.2018689 -0.3546167
B  1.60623838 -1.4167034  0.9076373 -0.3161138
C -0.10433133 -1.7060911 -0.4030050  1.0153297
D -2.91485614  2.9201895 -2.4771802 -2.6991517

I want to convert values > 1.5 to 1, < -1.5 to -1 and rest to 0;

> k1 - desired output
           C1         C2         C3         C4
A          0           0            0           0
B           1          0            0           0
C           0        -1             0           0
D           -1        1            -1           -1


I am trying with if else but cannot do it. I could only define one
condition.  Could someone help how I can do this. I dont mean only if
else, but any other way.

k =
structure(c(0.0990217544905328, 1.60623837694539, -0.104331330281166,
-2.91485614212114, -0.108388742328104, -1.41670341534772, -1.70609114096417,
2.92018951284015, 0.201868946570178, 0.907637296638577, -0.403004972105994,
-2.47718015803221, -0.354616729237253, -0.316113789733413, 1.01532974064126,
-2.69915170731852), .Dim = c(4L, 4L), .Dimnames = list(c("A",
"B", "C", "D"), c("C1", "C2", "C3", "C4")))



k1 <- t(apply(k, 1, function(x) ifelse(x > 1.5,1,-1)))

> k1
  C1 C2 C3 C4
A -1 -1 -1 -1
B  1 -1 -1 -1
C -1 -1 -1 -1
D -1  1 -1 -1



Thanks
Adrian



More information about the R-help mailing list