[R] Probability weights with density estimation
David Winsemius
dwinsemius at comcast.net
Fri Jan 18 05:00:13 CET 2008
"Charles C. Berry" <cberry at tajo.ucsd.edu> wrote in
news:Pine.LNX.4.64.0801161019340.7346 at tajo.ucsd.edu:
> On Wed, 16 Jan 2008, David Winsemius wrote:
>
>> I am a physician examining an NHANES dataset available at the
>> NCHS website:
http://www.cdc.gov/nchs/about/major/nhanes/nhanes2005-2006/demo_d.xpt
snip
>>
>> TC.ran <- exp(rnorm(400,1.5,.3))
>> HDL.ran <- exp(rnorm(400,.4,.3) )
>>
>> f1<-kde2d(HDL.ran,TC.ran,n=25,lims=c(0,4,2,10))
>>
>> contour(f1$x,f1$y,f1$z,ylim=c(0,8),xlim=c(0,3),ylab="TC mmol/L",
>> xlab="HDL mmol/L")
>> lines(f1$x,5*f1$x) # iso-ratio lines
>> lines(f1$x,4*f1$x)
>> lines(f1$x,3*f1$x)
>>
>> Two questions:
>> Is there a 2d density estimation function that has provision for
>> probability weights (or inverse sampling probabilities)?
snip
>
> It looks like you can use bkde2D from the KernSmooth package.
>
> You might look at the function sqlocpoly in surveyNG which uses
> the KernSmooth package for details.
The prospect of setting up an SQL database was rather daunting and I
continued my search. There were references in the the sql.. functions'
documentation that they were providing the functions in package Locfit.
Finding locfit() provided the weighting options I needed. This is what
I came up with:
tc.hdl.fit <- with(small.nh.chol,
locfit(~LBDHDDSI+LBDTCSI,
weights=WTMEC2YR,
xlim=c(0,0,4,10)
)
)
plot(tc.hdl.fit) #give warnings but does work
title(main="Weighted", xlab="HDL", ylab="TC")
# add labels _after_ plotting.
# never could figure out how to get plot() to accept xlab or ylab
# when passing the locfit object to it.
with(tc.hdl.fit, lines(x,x*4))
--
Thanks;
and thank you, Andy Liaw, for helpful earlier posts;
David Winsemius
More information about the R-help
mailing list