On Apr 23, 2012, at 5:21 PM, R. Michael Weylandt wrote:

That's not the ifelse() that's the for loop returning NULL
(everything's a function!). If you put the assignment inside you'll
get expected behavior.

x <- (for(i in 1:5) i) # Strange
for(i in 1:5) x<- i # Normal (but notice you only get the last value
because previous ones are overwritten)


Better would be to avoid the for-loop altogether. And phillip03 should note: The for-loop does not create an environment where column names are interpreted as object names and I'm guessing that 'avgflowEMU' is not an object but rather a column name.

Depending on the unstated goal (and quite a few other unstated concerns), something like this might make more sense:

EMU1993<-sum( data[ data$year==1993,  "avgflowEMU" ], na.rm=TRUE)

phillip03: please stop using 'data' as an object name. It is also the name of an R function.
--
David.

Michael

On Mon, Apr 23, 2012 at 4:26 PM, phillip03 <[email protected]> wrote:
Hi

EMU1993<-(for (i in 1:nrow(data)){
+       ifelse(year==1992,sum(avgflowEMU),0)
+       })

EMU1993
NULL


David Winsemius, MD
West Hartford, CT

______________________________________________
[email protected] 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.

Reply via email to