[R] Multiple if function

Anthoni, Peter (IMK) peter.anthoni at kit.edu
Wed Sep 16 07:40:03 CEST 2015


Hi Maria, 

Why not exploit some simple boolean facts (FALSE=0, TRUE=1) in your calculation, so

ASBclass = c(1,2,2,3,2,1)
Flow = c(1,1,1,1,1,1)

factor = ((ASBclass==1) * 0.1 + (ASBclass==2) * 0.15 + (ASBclass==3) * 0.2)
deviation = factor * Flow

cheers
Peter



> On 15 Sep 2015, at 12:56, Maria Lathouri <mlathouri at yahoo.gr> wrote:
> 
> Dear all, 
> 
> I am writing as I would like your help. I have a dataframe with two columns, ASB and Flow, where the the first one has values 1, 2 or 3 and the second flow data. Something like that:
> ASBclass    Flow1              11.51               9.2
> 2              10.5
> 3               6.7  ...              ...
> I would like to produce a third column named eg. deviation where it would get me values based on if ASBclass is 1, multiply Flow by 0.1; if ASBclass is 2 then multiply Flow by 0.15 and if ASBclass is 3 then multiply by 0.2.
> 
> If (ASBclass=1) { deviation<-Flow*0.1}
> If (ASBclass=2) { deviation<-Flow*0.15}If (ASBclass=1) { deviation<-Flow*0.2}
> I am not sure whether I should add the else function and how can I combine these separate functions.
> 
> Can anyone help me on that?
> Thank you very much. 
> 
> Kind regardsMaria
> 
> 	[[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.



More information about the R-help mailing list