On Aug 2, 2010, at 9:16 PM, Hey Sky wrote:
Hey, Rers
I am new to R and this question may has been asked many times or a
very old
one. I have checked
the archive but found nothing (maybe I used the wrong key words).
any advise is
appreciated
the question is:
I try to replace a col vector with some other values, see
edu<-matrix(0,1000,2)
edu1<-runif(1000,0,1)
edu[,1]<-edu1
the colum vector edu[,1] would have value between 0 and 1. if I
want to
replace the value of edu[,2]
to 1 if edu[,1] less than 0.5, how to do it in the form of matrix
but not under
a loop structure?
I have tried:
if (edu[,1]>=0.5) edu[,2]=1
You have discovered that is not the right way and if you look at the
help page for "if" you should see why (it doesn't vectorize).
Try:
edu[ edu[,1] < 0.5 ,1] <- 1
> min(edu[,1])
[1] 0.5001459
Or you could use ifelse, but I prefer vectorized solutions when they
are clear.
--
David.
there is only the first 0.5 have been done but not all the others.
thanks for
any kind answer.
Nan
from Montreal
______________________________________________
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.
David Winsemius, MD
West Hartford, CT
______________________________________________
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.