ifelse is vectorised, so just use that without the loop. colordata$response <- ifelse(colordata$color == 'blue', 1, 0)
David On 7 April 2016 at 12:41, Michael Artz <michaelea...@gmail.com> wrote: > Hi I'm not sure how to ask this, but its a very easy question to answer for > an R person. > > What is an easy way to check for a column value and then assigne a new > column a value based on that old column value? > > For example, Im doing > colordata <- data.frame(id = c(1,2,3,4,5), color = c("blue", "red", > "green", "blue", "orange")) > for (i in 1:nrow(colordata)){ > colordata$response[i] <- ifelse(colordata[i,"color"] == "blue", 1, 0) > } > > which works, but I don't want to use the for loop I want to "vecotrize" > this. How would this be implemented? > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@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]] ______________________________________________ R-help@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.