[R] if else condition - help
Dylan Keenan
dylan.keenan at gmail.com
Sun May 22 20:12:31 CEST 2016
Try this:
> sign(ifelse(abs(k)<=1.5, 0, k))
C1 C2 C3 C4
A 0 0 0 0
B 1 0 0 0
C 0 -1 0 0
D -1 1 -1 -1
On Sun, May 22, 2016 at 2:00 PM Adrian Johnson <oriolebaltimore at gmail.com>
wrote:
> 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
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>
[[alternative HTML version deleted]]
More information about the R-help
mailing list