Message-ID: <CAJdu7BDOrvKoRp2QGg4vs_C_bBnFL5RG4bNbAnxSD2q6-2PqZg@mail.gmail.com>
Date: 2013-11-20T02:41:39Z
From: Nick Matzke
Subject: if else in R
In-Reply-To: <CAEVDvzV76YjfnuOi-_xkp9h=6sioAQy+oa3UeYa=6KBV6XibTQ@mail.gmail.com>
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.