The thing is that for na.rm=TRUE, I would expect the weights corresponding to
the missing x to be removed, as well. Like in weighted.mean. So this one
shouldn't raise an error,density(c(1, 2, 3, 4, 5, NA), na.rm=TRUE,
weights=c(1, 1, 1, 1, 1, 1))Or am I missing something??
-------- Urspr?ngliche Nachricht --------Von: Bert Gunter <bgunter.4567 at
gmail.com> Datum: 12.07.21 16:25 (GMT+01:00) An: Matthias Gondan
<matthias-gondan at gmx.de> Cc: r-help at r-project.org Betreff: Re: [R]
density with weights missing values The behavior is as documented
AFAICS.na.rmlogical; if TRUE, missing values are removed from x. If FALSE
anymissing values cause an error.The default is FALSE.weightsnumeric vector of
non-negative observation weights.NA is not a non-negative numeric.Bert
Gunter"The trouble with having an open mind is that people keep coming
alongand sticking things into it."-- Opus (aka Berkeley Breathed in his
"Bloom County" comic strip )Bert Gunter"The trouble with having
an open mind is that people keep coming alongand sticking things into
it."-- Opus (aka Berkeley Breathed in his "Bloom County" comic
strip )On Mon, Jul 12, 2021 at 6:10 AM Matthias Gondan <matthias-gondan at
gmx.de> wrote:>> Weighted mean behaves differently:> ? weight is
excluded for missing x> ? no warning for sum(weights) != 1>> >
weighted.mean(c(1, 2, 3, 4), weights=c(1, 1, 1, 1))> [1] 2.5> >
weighted.mean(c(1, 2, 3, NA), weights=c(1, 1, 1, 1))> [1] NA> >
weighted.mean(c(1, 2, 3, NA), weights=c(1, 1, 1, 1), na.rm=TRUE)> [1]
2>>>>> Von: Richard O'Keefe> Gesendet: Montag, 12. Juli
2021 13:18> An: Matthias Gondan> Betreff: Re: [R] density with weights
missing values>> Does your copy of R say that the weights must add up to
1?> ?density doesn't say that in mine.?? But it does check.>> On
Mon, 12 Jul 2021 at 22:42, Matthias Gondan <matthias-gondan at gmx.de>
wrote:> >> > Dear R users,> >> > This works as
expected:> >> > ? plot(density(c(1,2, 3, 4, 5, NA), na.rm=TRUE))>
>> > This raises an error> >> > ? plot(density(c(1,2, 3, 4,
5, NA), na.rm=TRUE, weights=c(1, 1, 1, 1, 1, 1)))> > ? plot(density(c(1,2,
3, 4, 5, NA), na.rm=TRUE, weights=c(1, 1, 1, 1, 1, NA)))> >> > This
seems to work (it triggers a warning that the weights don?t add up to 1, which
makes sense*):> >> > ? plot(density(c(1,2, 3, 4, 5, NA), na.rm=TRUE,
weights=c(1, 1, 1, 1, 1)))> >> > Questions> >> > ? But
shouldn?t the na.rm filter also filter the corresponding weights?> > ?
Extra question: In case the na.rm filter is changed to filter the weights, the
check for sum(weights) == 1 might trigger false positive warnings since the
weights might not add up to 1 anymore> >> > Best wishes,>
>> > Matthias> >> >> >???????? [[alternative HTML
version deleted]]> >> >
______________________________________________> > R-help at 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.>>>????????
[[alternative HTML version deleted]]>>
______________________________________________> R-help at 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.
[[alternative HTML version deleted]]