[R] simple question on data frames assignment

ruipbarradas at sapo.pt ruipbarradas at sapo.pt
Thu Apr 7 15:43:58 CEST 2016


Hello,

Or even simpler, without ifelse,

colordata$response <- colordata$color == 'blue' + 0

Hope this helps,

Rui Barradas
 

Citando David Barron <dnbarron at gmail.com>:

> 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 <michaeleartz at 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 at 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 at 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.htmland provide commented,  
> minimal, self-contained, reproducible code.

 

	[[alternative HTML version deleted]]



More information about the R-help mailing list