Hi there, I have two series of data. plotting the density function of both gives me an idea about the difference of the data. But I would like to quantify the difference I see. a <- rnorm(100) b <- rnorm(100) da <- density(a) db <- density(b) The problem is that da$x and db$x are different and so I have difficulties to compare them... Is there any way to force the density funtion to produce the values for the same x-steps? Or is there any other statistical approach I should use for comparing two density functions? I need to quantify how much the data-series differ (density function is rather complex in my case with skew and several maximas, so not easily to describe as a mathematical function. Sorry, I'm not that deep into statistics. Any comments / keywords on this is welcome... Antje
On 05/02/2008 3:22 AM, Antje wrote:> Hi there, > > I have two series of data. plotting the density function of both gives me an > idea about the difference of the data. But I would like to quantify the > difference I see. > > a <- rnorm(100) > b <- rnorm(100) > > da <- density(a) > db <- density(b) > > The problem is that da$x and db$x are different and so I have difficulties to > compare them... Is there any way to force the density funtion to produce the > values for the same x-steps?If you specify n= and from= and to= to be the same, I'd expect that you'd get the same steps. da <- density(a, n=512, from=min(c(a,b)), to=max(c(a,b))) db <- density(b, n=512, from=min(c(a,b)), to=max(c(a,b))) You could also use approxfun or splinefun to convert the density() output into a function that could be evaluated anywhere.> Or is there any other statistical approach I should use for comparing two > density functions? I need to quantify how much the data-series differ (density > function is rather complex in my case with skew and several maximas, so not > easily to describe as a mathematical function. > Sorry, I'm not that deep into statistics. Any comments / keywords on this is > welcome...There are a lot of measures of the difference between two distributions. Which one to use depends a lot on the intended purpose. Duncan Murdoch
Duncan told you how to do this using density, another option is to use the logspline package for a different way to estimate densities. With this approach you can use the dlogspline and plogspline functions to compare your density estimates. Hope this helps, -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.snow at imail.org (801) 408-8111> -----Original Message----- > From: r-help-bounces at r-project.org > [mailto:r-help-bounces at r-project.org] On Behalf Of Antje > Sent: Tuesday, February 05, 2008 1:22 AM > To: r-help at stat.math.ethz.ch > Subject: [R] two densities with same stepsize > > Hi there, > > I have two series of data. plotting the density function of > both gives me an idea about the difference of the data. But I > would like to quantify the difference I see. > > a <- rnorm(100) > b <- rnorm(100) > > da <- density(a) > db <- density(b) > > The problem is that da$x and db$x are different and so I have > difficulties to compare them... Is there any way to force the > density funtion to produce the values for the same x-steps? > Or is there any other statistical approach I should use for > comparing two density functions? I need to quantify how much > the data-series differ (density function is rather complex in > my case with skew and several maximas, so not easily to > describe as a mathematical function. > Sorry, I'm not that deep into statistics. Any comments / > keywords on this is welcome... > > Antje > > ______________________________________________ > R-help at 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. >