Dear R experts, I have again a problem. Let I have a data frame like below: x y ---------- A A A B B B A B where x and y are the column names. I want to create a new column z where it is elements will be like that, if at each row has there at least one 'B', then z will have value of B, if not then Z will have missing value(NA) for the corresponding row. So my result data frame should be like below: x y Z ------------------ A A NA A B B B B B A B B How can I do this with if else statements in R. Thanks a lot. -- View this message in context: http://r.789695.n4.nabble.com/if-else-statements-in-data-frame-tp3454646p3454646.html Sent from the R help mailing list archive at Nabble.com.
Hi ozgrerg,
I am not a "good" R user, but according to me you can do this;
data <-
data.frame(x=c("A","A","B","A"),
y=c("A","B","B","B"))
for (i in 1:nrow(data)){
if(data$x[i]=="B"||data$y[i]=="B") z[i]=c("B")
else
z[i]=c("NA")
}
cbind(data,z)
--
View this message in context:
http://r.789695.n4.nabble.com/if-else-statements-in-data-frame-tp3454646p3454704.html
Sent from the R help mailing list archive at Nabble.com.
Thanks for the answers. They were very helpful. I did it like below. data$z <- ifelse(data$x == "A" & data$y == "A", "NA", "B"). That is enough for today. I guess I learned a enough today. Thanks to everbody who tried to help. -- View this message in context: http://r.789695.n4.nabble.com/if-else-statements-in-data-frame-tp3454646p3454710.html Sent from the R help mailing list archive at Nabble.com.