R experts,

I have been unable to get the following ifelse statement to work as desired 
when applied 
to my data frame.

Example:

DF$ANYEF <- 
with(DF,ifelse(PSOUGHT1=='ANY'|PSOUGHT2=='ANY'|PSOUGHT3=='ANY',PEFF,0))
  
##### this statement will be replicated 16 times for 16 unique _EF variables ###

Basically, I want each ANYEF for each row to equal the corresponding row value 
for column 
PEFF if 'ANY' occurs at least once among columns PSOUGHT1, PSOUGHT2, and 
PSOUGHT3, and I want 
ANYEF to equal 0 if 'ANY' is not present within either PSOUGHT1 or PSOUGHT2 or 
PSOUGHT3. My 
ifelse statement will yield NAs rather than zeroes as desired whenever 'ANY' is 
not present 
and NAs are included in at least one of the PSOUGHT variables. This data frame 
is a small subset 
of a larger data frame.

Thank you,

Mike


DF <-
structure(list(SITE = c("EAST.AVE", "LAMPE", "LAMPE", "EAST.AVE", 
"EAST.AVE"), MM = c(5L, 5L, 5L, 9L, 9L), DD = c(19L, 23L, 23L, 
13L, 13L), PEFF = c(11.25, 9, 8, 1.5, 8), PSOUGHT1 = c("ANY", 
"SMB", "SMB", "YP", "ANY"), PSOUGHT2 = c("LMB", NA, NA, NA, NA
), PSOUGHT3 = c(NA, NA, NA, NA, NA), ANYEF = c(11.25, NA, NA, 
NA, 8)), .Names = c("SITE", "MM", "DD", "PEFF", "PSOUGHT1", "PSOUGHT2", 
"PSOUGHT3", "ANYEF"), class = "data.frame", row.names = c(24L, 
38L, 39L, 471L, 472L))

______________________________________________
R-help@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.

Reply via email to