On Fri, Apr 07, 2006 at 02:58:00AM -0400, Brian Quinif wrote: > > I have data on college students. I want to make a string variable > that has the names of the years. That is, when the year variable i is > equal to 1, I want to have a variable called years equal to > "Freshmen". > > I tried this > years <- "Freshmen" if i==1 > years <- "Sophomores" if i==2
What you are looking for is not an if clause but logical indexing: years[years=="Freshmen"] <- 1 years[years=="Sophomores"] <- 2 Of course it's still a character vector so you will have to do years = as.numeric(years) Have a look at the manual (Introduciotn to R) for more details. Another question is what you have in mind. To me it looks like what you are trying to do is make a factor on your own. Maybe this is what you want: factor(years) or maybe factor(years, levels=c("Freshmen", "Sophomores")) if you want more control over the coding. cu Philipp -- Dr. Philipp Pagel Tel. +49-8161-71 2131 Dept. of Genome Oriented Bioinformatics Fax. +49-8161-71 2186 Technical University of Munich Science Center Weihenstephan 85350 Freising, Germany and Institute for Bioinformatics / MIPS Tel. +49-89-3187 3675 GSF - National Research Center Fax. +49-89-3187 3585 for Environment and Health Ingolstädter Landstrasse 1 85764 Neuherberg, Germany http://mips.gsf.de/staff/pagel ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html