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.

Reply via email to