Message-ID: <CA+pG8eNBKRYWxogAZ5=176paU0WA9f-6DWB758-uSbdT0xtFBA@mail.gmail.com>
Date: 2016-04-07T11:57:04Z
From: Michael Artz
Subject: simple question on data frames assignment
In-Reply-To: <CAHuze_Je8JfvrHm7Ptiu2AzJPkP5kjM5fkh9H4AhfaUSBhYedg@mail.gmail.com>
Thaks so much! And how would you incorporate lapply() here?
On Thu, Apr 7, 2016 at 6:52 AM, David Barron <dnbarron at gmail.com> wrote:
> 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]]