What is wrong with the following? x <- 1:2 if(x[1] > 0) { if(x[2] > 0) { print("1 & 2 > 0") } else { print("1 > 0") } } else { if(x[2] > 0) { print("2 > 0") } else { print("NONE > 0") } } Gives me Error: unexpected 'else' in "else" What am I missing? Kevin [[alternative HTML version deleted]]
On Tue, Nov 15, 2011 at 3:46 PM, Kevin Burton <rkevinburton at charter.net> wrote:> What is wrong with the following?AFAIK the else needs to follow the end brace of if {} on the same line, at least at the main level. Peter> > > > x <- 1:2 > > if(x[1] > 0) > > { > > ? ? ? ? ? ? ? ?if(x[2] > 0) > > ? ? ? ? ? ? ? ?{ > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?print("1 & 2 > 0") > > ? ? ? ? ? ? ? ?} > > ? ? ? ? ? ? ? ?else > > ? ? ? ? ? ? ? ?{ > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?print("1 > 0") > > ? ? ? ? ? ? ? ?} > > } > > else > > { > > ? ? ? ? ? ? ? ?if(x[2] > 0) > > ? ? ? ? ? ? ? ?{ > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?print("2 > 0") > > ? ? ? ? ? ? ? ?} > > ? ? ? ? ? ? ? ?else > > ? ? ? ? ? ? ? ?{ > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?print("NONE > 0") > > ? ? ? ? ? ? ? ?} > > } > > > > Gives me > > > > Error: unexpected 'else' in "else"
Hi, Check out this R-help thread from 2007. http://tolstoy.newcastle.edu.au/R/e2/help/07/06/19513.html Cheers, Ben On Nov 15, 2011, at 6:46 PM, Kevin Burton wrote:> What is wrong with the following? > > > > x <- 1:2 > > if(x[1] > 0) > > { > > if(x[2] > 0) > > { > > print("1 & 2 > 0") > > } > > else > > { > > print("1 > 0") > > } > > } > > else > > { > > if(x[2] > 0) > > { > > print("2 > 0") > > } > > else > > { > > print("NONE > 0") > > } > > } > > > > Gives me > > > > Error: unexpected 'else' in "else" > > > > What am I missing? > > > > Kevin > > > [[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.Ben Tupper Bigelow Laboratory for Ocean Sciences 180 McKown Point Rd. P.O. Box 475 West Boothbay Harbor, Maine 04575-0475 http://www.bigelow.org
On 11/15/2011 06:46 PM, Kevin Burton wrote:> What is wrong with the following? > > > > x<- 1:2 > > if(x[1]> 0) > > { > > if(x[2]> 0) > > { > > print("1& 2> 0") > > } > > else > > { > > print("1> 0") > > } > > } > > else > > { > > if(x[2]> 0) > > { > > print("2> 0") > > } > > else > > { > > print("NONE> 0") > > } > > } > > > > Gives me > > > > Error: unexpected 'else' in "else" > > > > What am I missing? > > > > Kevin > > > [[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. >x <- 1:2 #this works if (x[1] > 0) { if (x[2] > 0) print("1 & 2 > 0") else print("1 > 0") } else { if (x[2] > 0) print("2 > 0") else print("NONE > 0") } #this works if (x[1] > 0) { if (x[2] > 0) print("1 & 2 > 0") else print("1 > 0") } else { if (x[2] > 0) print("2 > 0") else print("NONE > 0") } #this doesn't if (x[1] > 0) { if (x[2] > 0) print("1 & 2 > 0") else print("1 > 0") } else { if (x[2] > 0) print("2 > 0") else print("NONE > 0") } Conclusion: if-else in R is not quite free-form. -- Philippe Baril Lecavalier