[R] Howto Superimpose Multiple Density Curves Into One Plot

Gundala Viswanath gundalav at gmail.com
Wed Sep 2 14:54:05 CEST 2009


> str(dat)
'data.frame':	200 obs. of  2 variables:
 $ V1: num  0.98 0.19 1.09 0.21 0.26 0.98 0.31 0.88 0.23 0.2 ...
 $ V2: int  1 0 1 0 0 1 0 1 0 0 ...
> summary(dat)
       V1               V2
 Min.   :0.0000   Min.   :0.000
 1st Qu.:0.1600   1st Qu.:0.000
 Median :0.2950   Median :0.000
 Mean   :0.7108   Mean   :0.635
 3rd Qu.:1.0600   3rd Qu.:1.000
 Max.   :5.4400   Max.   :5.000


- G.V.

On Wed, Sep 2, 2009 at 9:50 PM, ONKELINX,
Thierry<Thierry.ONKELINX at inbo.be> wrote:
> My orginal code should work with those colnames. Note that you must not use "variable.name" but just variable.name.
>
> I guess that somethings wrong with your dataframe. What does str(dat) and summary(dat) gives?
>
> Thierry
>
>
> ----------------------------------------------------------------------------
> ir. Thierry Onkelinx
> Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
> Cel biometrie, methodologie en kwaliteitszorg / Section biometrics, methodology and quality assurance
> Gaverstraat 4
> 9500 Geraardsbergen
> Belgium
> tel. + 32 54/436 185
> Thierry.Onkelinx at inbo.be
> www.inbo.be
>
> To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
> ~ Sir Ronald Aylmer Fisher
>
> The plural of anecdote is not data.
> ~ Roger Brinner
>
> The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
> ~ John Tukey
>
> -----Oorspronkelijk bericht-----
> Van: Gundala Viswanath [mailto:gundalav at gmail.com]
> Verzonden: woensdag 2 september 2009 14:47
> Aan: ONKELINX, Thierry
> CC: r-help at stat.math.ethz.ch
> Onderwerp: Re: [R] Howto Superimpose Multiple Density Curves Into One Plot
>
> Hi Thierry,
>
> I am sorry for coming back to you.
> Maybe I misunderstood you, but I got this:
>
>> colnames(dat)
> [1] "V1" "V2"
>> ggplot(dat, aes(x = "V1", colour = factor("V2"))) + geom_density()
> Error in data.frame(..., check.names = FALSE) :
>  arguments imply differing number of rows: 1, 200
>
>> ggplot(dat, aes(x = V1, colour = factor(V2))) + geom_density()
> Error in density.default(data$x, adjust = adjust, kernel = kernel, weight = data$weight,  :
>  need at least 2 points to select a bandwidth automatically
>
>
> - G.V
>
> On Wed, Sep 2, 2009 at 9:35 PM, ONKELINX, Thierry<Thierry.ONKELINX at inbo.be> wrote:
>> It looks like the data has other columnnames than the samplecode you provided.
>>
>> Use colnames(dat) to get the columnnames. Replace V1 with the columnname of the values and V2 with the column name of the ID's.
>>
>> HTH,
>>
>> Thierry
>>
>>
>> ----------------------------------------------------------------------
>> ------
>> ir. Thierry Onkelinx
>> Instituut voor natuur- en bosonderzoek / Research Institute for Nature
>> and Forest Cel biometrie, methodologie en kwaliteitszorg / Section
>> biometrics, methodology and quality assurance Gaverstraat 4 9500
>> Geraardsbergen Belgium tel. + 32 54/436 185 Thierry.Onkelinx at inbo.be
>> www.inbo.be
>>
>> To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
>> ~ Sir Ronald Aylmer Fisher
>>
>> The plural of anecdote is not data.
>> ~ Roger Brinner
>>
>> The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
>> ~ John Tukey
>>
>> -----Oorspronkelijk bericht-----
>> Van: Gundala Viswanath [mailto:gundalav at gmail.com]
>> Verzonden: woensdag 2 september 2009 14:33
>> Aan: ONKELINX, Thierry
>> CC: r-help at stat.math.ethz.ch
>> Onderwerp: Re: [R] Howto Superimpose Multiple Density Curves Into One
>> Plot
>>
>> Hi Thierry,
>>
>> Thanks for the reply. I tried this:
>>> dat <-   read.table("http://dpaste.com/88561/plain/")
>>
>> But I got such error:
>>
>>> ggplot(dat, aes(x = V1, colour = factor(V2))) + geom_density()
>> Error in density.default(data$x, adjust = adjust, kernel = kernel, weight = data$weight,  :
>>  need at least 2 points to select a bandwidth automatically
>>> ggplot(dat, aes(x = V1, fill = factor(V2))) + geom_density(alpha =
>>> 0.2)
>> Error in density.default(data$x, adjust = adjust, kernel = kernel, weight = data$weight,  :
>>  need at least 2 points to select a bandwidth automatically
>>> ggplot(dat, aes(x = V1)) + geom_density() + facet_wrap(~V2)
>> Error: could not find function "facet_wrap"
>>>
>>> ggplot(dat, aes(x = V1, fill = factor(V2))) + geom_density(alpha =
>>> 0.2)
>> Error in density.default(data$x, adjust = adjust, kernel = kernel, weight = data$weight,  :
>>  need at least 2 points to select a bandwidth automatically
>>> ggplot(dat, aes(x = V1)) + geom_density() + facet_wrap(~V2)
>> Error: could not find function "facet_wrap"
>>
>> Maybe I miss something? What could possibly go wrong?
>>
>> - Edward
>>
>>
>> On Wed, Sep 2, 2009 at 8:30 PM, ONKELINX, Thierry<Thierry.ONKELINX at inbo.be> wrote:
>>> Have a look at the ggplot2 package.
>>>
>>> library(ggplot2)
>>> dat <- read.table("mydat.txt")
>>> ggplot(dat, aes(x = V1, colour = factor(V2))) + geom_density() #or a
>>> few alternatives ggplot(dat, aes(x = V1, fill = factor(V2))) +
>>> geom_density(alpha = 0.2) ggplot(dat, aes(x = V1)) + geom_density() +
>>> facet_wrap(~V2)
>>>
>>> HTH,
>>>
>>> Thierry
>>>
>>>
>>> ---------------------------------------------------------------------
>>> -
>>> --
>>> ----
>>> ir. Thierry Onkelinx
>>> Instituut voor natuur- en bosonderzoek / Research Institute for
>>> Nature and Forest Cel biometrie, methodologie en kwaliteitszorg /
>>> Section biometrics, methodology and quality assurance Gaverstraat 4
>>> 9500 Geraardsbergen Belgium tel. + 32 54/436 185
>>> Thierry.Onkelinx at inbo.be www.inbo.be
>>>
>>> To call in the statistician after the experiment is done may be no
>>> more than asking him to perform a post-mortem examination: he may be
>>> able to say what the experiment died of.
>>> ~ Sir Ronald Aylmer Fisher
>>>
>>> The plural of anecdote is not data.
>>> ~ Roger Brinner
>>>
>>> The combination of some data and an aching desire for an answer does
>>> not ensure that a reasonable answer can be extracted from a given
>>> body of data.
>>> ~ John Tukey
>>>
>>> -----Oorspronkelijk bericht-----
>>> Van: r-help-bounces at r-project.org
>>> [mailto:r-help-bounces at r-project.org]
>>> Namens Gundala Viswanath
>>> Verzonden: woensdag 2 september 2009 12:10
>>> Aan: r-help at stat.math.ethz.ch
>>> Onderwerp: [R] Howto Superimpose Multiple Density Curves Into One
>>> Plot
>>>
>>> I have a data that looks like this:
>>> http://dpaste.com/88561/plain/
>>>
>>> And I intend to create multiple density curve into one plot, where
>>> each curve correspond to the unique ID.
>>>
>>> I tried to use "sm" package, with this code, but without success.
>>>
>>> __BEGIN__
>>> library(sm)
>>> dat <- read.table("mydat.txt");
>>> plotfn <- ("~/Desktop/flowgram_superimposed.pdf");
>>> pdf(plotfn);
>>>
>>> sm.density.compare(dat$V1,dat$V2, xlab = "Flow Signal") colfill <-
>>> c(2:10); legend(locator(1), levels(dat$V2), fill=colfill)
>>>
>>> dev.off();
>>> __END__
>>>
>>> Please advice what's the right way to do it or if  there is
>>> alternative way to do it?
>>> I am trying to get this kind of figure:
>>> http://img524.imageshack.us/img524/2736/testl.png
>>>
>>>
>>> - G.V.
>>>
>>> ______________________________________________
>>> 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.
>>>
>>> Druk dit bericht a.u.b. niet onnodig af.
>>> Please do not print this message unnecessarily.
>>>
>>> Dit bericht en eventuele bijlagen geven enkel de visie van de
>>> schrijver weer en binden het INBO onder geen enkel beding, zolang dit
>>> bericht niet bevestigd is door een geldig ondertekend document. The
>>> views expressed in  this message and any annex are purely those of
>>> the writer and may not be regarded as stating an official position of
>>> INBO, as long as the message is not confirmed by a duly signed document.
>>>
>>
>> Druk dit bericht a.u.b. niet onnodig af.
>> Please do not print this message unnecessarily.
>>
>> Dit bericht en eventuele bijlagen geven enkel de visie van de
>> schrijver weer en binden het INBO onder geen enkel beding, zolang dit
>> bericht niet bevestigd is door een geldig ondertekend document. The
>> views expressed in  this message and any annex are purely those of the
>> writer and may not be regarded as stating an official position of
>> INBO, as long as the message is not confirmed by a duly signed document.
>>
>
> Druk dit bericht a.u.b. niet onnodig af.
> Please do not print this message unnecessarily.
>
> Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer
> en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is
> door een geldig ondertekend document. The views expressed in  this message
> and any annex are purely those of the writer and may not be regarded as stating
> an official position of INBO, as long as the message is not confirmed by a duly
> signed document.
>




More information about the R-help mailing list