conditional assignment
On Mon, 26 Jan 2004 uaca at alumni.uv.es wrote:
Hi all I want to conditionally operate on certain elements of a matrix, let me explain it with a simple vector example
z<- c(1, 2, 3) zz <- c(0,0,0) null <- (z > 2) & ( zz <- z) zz
[1] 1 2 3 why zz is not (0, 0, 3) ?????
Break it down into bits:
z<- c(1, 2, 3) (z > 2)
[1] FALSE FALSE TRUE
( zz <- z)
[1] 1 2 3
(z > 2) & ( zz <- z)
[1] FALSE FALSE TRUE
TRUE & ( zz <- z)
[1] TRUE TRUE TRUE
rep(TRUE,4) & ( zz <- z)
[1] TRUE TRUE TRUE TRUE
Warning message:
longer object length
is not a multiple of shorter object length in: rep(TRUE, 4) & (zz <- z)
The first part is a logical vector, the second is the result of assigning
z to zz, & of them isn't terribly meaningful?
Try:
zz <- ifelse(z > 2, z, 0) zz
[1] 0 0 3 if that's what you want.
the null <- assignment is to keep the console silent in the other hand, it curious that null has reasonable values
null
[1] FALSE FALSE TRUE
Thanks in advance
Ulisses
Debian GNU/Linux: a dream come true
-----------------------------------------------------------------------------
"Computers are useless. They can only give answers." Pablo Picasso
Humans are slow, innaccurate, and brilliant.
Computers are fast, acurrate, and dumb.
Together they are unbeatable
---> Visita http://www.valux.org/ para saber acerca de la <---
---> Asociaci?n Valenciana de Usuarios de Linux <---
______________________________________________ R-help at stat.math.ethz.ch mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Roger Bivand Econonic Geography Section, Department of Economics, Norwegian School of Economics and Business Administration, Breiviksveien 40, N-5045 Bergen, Norway, voice: +47-55959355, fax: +47-55959393; Roger.Bivand at nhh.no