Ouch. Please avoid ifelse() in non-vectorized contexts. John Fox has the right idea.
-pd On 26 Jan 2015, at 01:21 , Jim Lemon <drjimle...@gmail.com> wrote: > Hi Allen, > How about this: > > sum_w_NA<-function(x) ifelse(all(is.na(x)),NA,sum(x,na.rm=TRUE)) > > Jim > > > On Mon, Jan 26, 2015 at 10:21 AM, Allen Bingham <aebingh...@gmail.com> wrote: >> I understand that in order to get the sum function to ignore missing values >> I need to supply the argument na.rm=TRUE. However, when summing numeric >> values in which ALL components are "NA" ... the result is 0.0 ... instead of >> (what I would get from SAS) of NA (or in the case of SAS "."). >> >> Accordingly, I've had to go to 'extreme' measures to get the sum function to >> result in NA if all arguments are missing (otherwise give me a sum of all >> non-NA elements). >> >> So for example here's a snippet of code that ALMOST does what I want: >> >> >> SumValue<-apply(subset(InputDataFrame,!is.na(Variable.1)|!is.na(Variable.2), >> select=c(Variable.1,Variable.2)),1,sum,na.rm=TRUE) >> >> In reality this does NOT give me records with NA for SumValue ... but it >> doesn't give me values for any records in which both Variable.1 and >> Variable.2 are NA --- which is "good enough" for my purposes. >> >> I'm guessing with a little more work I could come up with a way to adapt the >> code above so that I could get it to work like SAS's sum function ... >> >> ... but before I go that extra mile I thought I'd ask others if they know of >> functions in either base R ... or in a package that will better mimic the >> SAS sum function. >> >> Any suggestions? >> >> Thanks. >> ______________________________________ >> Allen Bingham >> aebingh...@gmail.com >> >> ______________________________________________ >> R-help@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. > > ______________________________________________ > R-help@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. -- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: pd....@cbs.dk Priv: pda...@gmail.com ______________________________________________ R-help@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.