[R] if else in R

Nick Matzke matzke at berkeley.edu
Wed Nov 20 03:41:39 CET 2013


Hi,

This would be an issue with if() as well as if/else.  ab$b has 4
numbers in it, so ab$b > 0 evaluates to "TRUE TRUE FALSE TRUE" or
whatever. if() can only take a single true or false. Cheers! Nick

On Tue, Nov 19, 2013 at 8:30 PM, Gary Dong <pdxgary163 at gmail.com> wrote:
> Dear R users,
>
> I am a R beginner and I am having trouble in using "If Else" in R. Here is
> an example:
>
> ## create a data frame
>
> a<-c(1,2,3,4)
> b<-c(2,0,5,0)
> ab<-data.frame(cbind(a,b))
>
> ##calculate c, which is the ratio between a and b
>
> if(ab$b>0) {
>  ab$c<-ab$a/ab$b
> } else {
>  ab$c<-0
>  }
>
> here is the error I got:
>
> Warning message:
> In if (ab$b > 0) { :
>   the condition has length > 1 and only the first element will be used.
>
> Any help is appreciated!
>
> Gary
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.



More information about the R-help mailing list