Thank you! Sigalit.
On 11/2/07, Marc Schwartz <[EMAIL PROTECTED]> wrote: > > On Fri, 2007-11-02 at 22:02 +0200, sigalit mangut-leiba wrote: > > Hello, > > I want to create a new variable which includes 4 age categories in this > way: > > > > if (age>=12 && age<32) age1==1 > > > > if (age>=32 && age<52) age1==2 > > > > if (age>=52 && age<72) age1==3 > > > > if (age>=72 && age<100) age1==4 > > > > but I get the results only for the first observation. > > > > how can I apply this condition to all observations? > > > > Thanks in advance, > > > > Sigalit. > > The if() function can only return a single result, so you would have to > create something along the lines of an if...else construct. > > Alternatively, you can use cut(): > > age <- 12:99 > > > cut(age, breaks = c(12, 32, 52, 72, 100), labels = 1:4, include.lowest = > TRUE) > [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 > [35] 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 > [69] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 > Levels: 1 2 3 4 > > > Note that this returns a factor. If you want an actual integer value, > you would have to coerce the result. > > See ?cut for more information. > > HTH, > > Marc Schwartz > > > [[alternative HTML version deleted]] ______________________________________________ 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.