if you want to use 'ifelse', here is a way:

k =

k =

+ -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")))

# if you want to use 'ifelse', here is a way

x <- ifelse(k > 1.5

+ , 1x <- ifelse(k > 1.5

+ , ifelse(k < -1.5

+ , -1

+ , 0

+ )

+ )

str(x)

num [1:4, 1:4] 0 1 0 -1 0 0 -1 1 0 0 ...- attr(*, "dimnames")=List of 2

..$ : chr [1:4] "A" "B" "C" "D"

..$ : chr [1:4] "C1" "C2" "C3" "C4"

x

C1 C2 C3 C4A 0 0 0 0

B 1 0 0 0

C 0 -1 0 0

D -1 1 -1 -1

>

Jim Holtman

Data Munger Guru

What is the problem that you are trying to solve?

Tell me what you want to do, not how you want to do it.

On Sun, May 22, 2016 at 1:58 PM, Adrian Johnson wrote:

Hi group:

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

I have a matrix k

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;

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

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.

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

I have a matrix k

k

C1 C2 C3 C4A 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 C4A 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 C4A -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]]