Re: [R] calculate quantiles of a custom function

2012-01-04 Thread Gerhard
Am Dienstag, 3. Januar 2012, 19:51:36 schrieb Prof. Dr. Matthias Kohl:
 D - AbscontDistribution(d = function(x) dbeta(x, 2, 6) + dbeta(x,6,2), 
 low = 0, up = 1, withStand = TRUE)

Dear all,

thank you all again for your help. 

So, summing up, (in case this might be useful to other beginners - like me) 
this is how it can be done:


library(distr)

dcustom - function(x) {
  (dbeta(x,2,6) + dbeta(x,6,2))/2# I need to divide by 2 to get 1 as
 # result of 
integration;
}

pcustom - function(x) {
  integrate(dmyspeaker,0,x)$value 
}

D - AbscontDistribution(d = dcustom, low = 0, up = 1, withStand = TRUE)

qcustom - function(x){
  q(D)(x)
}


Best, 

Gerhard

__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-04 Thread Albyn Jones
FWIW, the integral of a mixture density is the same mixture of the  
CDFs, so you can use the pbeta functions:


 pcustom - function(x) (pbeta(x,2,6) + pbeta(x,6,2))/2

albyn

Quoting Gerhard felds...@gmx.net:


Am Dienstag, 3. Januar 2012, 19:51:36 schrieb Prof. Dr. Matthias Kohl:

D - AbscontDistribution(d = function(x) dbeta(x, 2, 6) + dbeta(x,6,2),
low = 0, up = 1, withStand = TRUE)


Dear all,

thank you all again for your help.

So, summing up, (in case this might be useful to other beginners - like me)
this is how it can be done:


library(distr)

dcustom - function(x) {
  (dbeta(x,2,6) + dbeta(x,6,2))/2# I need to divide by 2 to get 1 as
 # result of 
integration;
}

pcustom - function(x) {
  integrate(dmyspeaker,0,x)$value
}

D - AbscontDistribution(d = dcustom, low = 0, up = 1, withStand = TRUE)

qcustom - function(x){
  q(D)(x)
}


Best,

Gerhard

__
R-help@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.




__
R-help@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.


[R] calculate quantiles of a custom function

2012-01-03 Thread Gerhard
Hi,

I guess that my problem has an obvious answer, but I have not been able to 
find it.

Suppose I create a custom function, consisting of two beta-distributions:

myfunction - function(x) {
  dbeta(x,2,6) + dbeta(x,6,2)
}

How can I calculate the quantiles of myfunction? 

I have not seen any continous function treated in the docs, and applying the 
quantile function gives me an error (since it seems only to be defined on 
lists and atoms).

Thank you in advance,

Gerhard

__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread Bert Gunter
Gerhard:

Strictly speaking, it's quantiles of a custom distribution, not function.

There may be some way to handle your example easily, but, in general,
you would need to solve the resulting integral equation. This is hard
-- closed form solutions rarely exist; good approximations require
work.

So a standard approach is: simulate. Indeed, many simulation tricks
(under the rubric of variance reduction) have been developed exactly
for such monte carlo integration. Consult a good reference or
knowledgeable person for details.

-- Bert

On Tue, Jan 3, 2012 at 4:24 AM, Gerhard felds...@gmx.net wrote:
 Hi,

 I guess that my problem has an obvious answer, but I have not been able to
 find it.

 Suppose I create a custom function, consisting of two beta-distributions:

 myfunction - function(x) {
  dbeta(x,2,6) + dbeta(x,6,2)
 }

 How can I calculate the quantiles of myfunction?

 I have not seen any continous function treated in the docs, and applying the
 quantile function gives me an error (since it seems only to be defined on
 lists and atoms).

 Thank you in advance,

 Gerhard

 __
 R-help@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.



-- 

Bert Gunter
Genentech Nonclinical Biostatistics

Internal Contact Info:
Phone: 467-7374
Website:
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm

__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread David Winsemius


On Jan 3, 2012, at 7:24 AM, Gerhard wrote:


Hi,

I guess that my problem has an obvious answer, but I have not been  
able to

find it.

Suppose I create a custom function, consisting of two beta- 
distributions:


myfunction - function(x) {
 dbeta(x,2,6) + dbeta(x,6,2)
}



Given the symmetry of the beta function, I suspect that dividing by  
two would make that a real distribution.



How can I calculate the quantiles of myfunction?


You could build a CDF using 'integrate'.



I have not seen any continous function treated in the docs, and  
applying the
quantile function gives me an error (since it seems only to be  
defined on

lists and atoms).


There is also a family of packages, all of whose names begin with  
distr. They provide a variety of facilities for developing new  
distributions, both discrete and continuous.


--

David Winsemius, MD
West Hartford, CT

__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread Gerhard
Am Dienstag, 3. Januar 2012, 11:05:11 schrieben Sie:
 
 The quick way is to look at the structure with 'str':
 
 str(integrate(myfunction,0,.9))
 List of 5
   $ value   : num 1.85
   $ abs.error   : num 2.05e-14
   $ subdivisions: int 1
   $ message : chr OK
   $ call: language integrate(f = myfunction, lower = 0, upper
 = 0.9)
   - attr(*, class)= chr integrate
 
 The longer way would be to look at the help)integrate)  page where the
 Value section would have told you that a list with named components
 
 was returned:
   integrate(myfunction,0,.9)$value
 
 [1] 1.850299
 
 In this instance you could also probably use 'cumsum' (which is just
 doing the numerical integration by hand
 
 plot(cumsum( myfunction(seq(0,1,by=0.001)))/
 sum(myfunction(seq(0,1,by=0.001)) ) )


Thanks a lot; now I now where I need to look for help before bothering you 
again. 

Best,

Gerhard

 
  I need to hand on the value to another function, and then I get an
  error
  message, because the output of integrate is not a numerical argument.
  
  I have not seen any continous function treated in the docs, and
  applying the
  quantile function gives me an error (since it seems only to be
  defined on
  lists and atoms).
  
  There is also a family of packages, all of whose names begin with
  distr. They provide a variety of facilities for developing new
  distributions, both discrete and continuous.
  
  That looks quite frightening. But if it turns out to be necessary.
 
 But a good way to improve you knowledge of statistical concepts.
 
  Thank you,
  
  Gerhard
 
 David Winsemius, MD
 West Hartford, CT

__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread VictorDelgado

Gerhard wrote
 
 
 Suppose I create a custom function, consisting of two beta-distributions:
 
 myfunction - function(x) {
   dbeta(x,2,6) + dbeta(x,6,2)
 }
 
 How can I calculate the quantiles of myfunction? 
 
 Thank you in advance,
 
 Gerhard
 
 

Gehard, if do you want to know the quantiles of the new distribution created
by myfunction. Maybe you can also do:

x - seq(0,1,.01) # insert your 'x'
q - myfunction(x)
# And:
quantile(x)

  0%  25%  50%  75% 100% 
0.00 1.476177 2.045389 2.581226 2.817425 

# This gives the sample quantiles. You can also look foward to simulations
(like Bert Gunter had suggested) to know better the properties of
distributions quantiles obtained after 'myfunction'. 



-
Victor Delgado
cedeplar.ufmg.br P.H.D. student
www.fjp.mg.gov.br reseacher
--
View this message in context: 
http://r.789695.n4.nabble.com/calculate-quantiles-of-a-custom-function-tp4256887p4257551.html
Sent from the R help mailing list archive at Nabble.com.

__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread VictorDelgado

VictorDelgado wrote
 
 
 quantile(x)
 
 
Correcting to

quantile(q)

-
Victor Delgado
cedeplar.ufmg.br P.H.D. student
www.fjp.mg.gov.br reseacher
--
View this message in context: 
http://r.789695.n4.nabble.com/calculate-quantiles-of-a-custom-function-tp4256887p4257575.html
Sent from the R help mailing list archive at Nabble.com.

__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread Albyn Jones

What do quantiles mean here?  If you have a mixture density, say

   myf - function(x,p0) p0*dbeta(x,2,6) + (1-p0)*dbeta(x,6,2)

then I know what quantiles mean.  To find the Pth quantile use uniroot  
to solve for the x such that myf(x,p0) - P =0.


albyn

Quoting VictorDelgado victor.m...@fjp.mg.gov.br:



Gerhard wrote



Suppose I create a custom function, consisting of two beta-distributions:

myfunction - function(x) {
  dbeta(x,2,6) + dbeta(x,6,2)
}

How can I calculate the quantiles of myfunction?

Thank you in advance,

Gerhard




Gehard, if do you want to know the quantiles of the new distribution created
by myfunction. Maybe you can also do:

x - seq(0,1,.01) # insert your 'x'
q - myfunction(x)
# And:
quantile(x)

  0%  25%  50%  75% 100%
0.00 1.476177 2.045389 2.581226 2.817425

# This gives the sample quantiles. You can also look foward to simulations
(like Bert Gunter had suggested) to know better the properties of
distributions quantiles obtained after 'myfunction'.



-
Victor Delgado
cedeplar.ufmg.br P.H.D. student
www.fjp.mg.gov.br reseacher
--
View this message in context:  
http://r.789695.n4.nabble.com/calculate-quantiles-of-a-custom-function-tp4256887p4257551.html

Sent from the R help mailing list archive at Nabble.com.

__
R-help@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.




__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread Duncan Murdoch

On 03/01/2012 1:33 PM, Albyn Jones wrote:

What do quantiles mean here?  If you have a mixture density, say

 myf- function(x,p0) p0*dbeta(x,2,6) + (1-p0)*dbeta(x,6,2)

then I know what quantiles mean.  To find the Pth quantile use uniroot
to solve for the x such that myf(x,p0) - P =0.


You would want to integrate first...

Duncan Murdoch


albyn

Quoting VictorDelgadovictor.m...@fjp.mg.gov.br:


  Gerhard wrote


  Suppose I create a custom function, consisting of two beta-distributions:

  myfunction- function(x) {
dbeta(x,2,6) + dbeta(x,6,2)
  }

  How can I calculate the quantiles of myfunction?

  Thank you in advance,

  Gerhard



  Gehard, if do you want to know the quantiles of the new distribution created
  by myfunction. Maybe you can also do:

  x- seq(0,1,.01) # insert your 'x'
  q- myfunction(x)
  # And:
  quantile(x)

0%  25%  50%  75% 100%
  0.00 1.476177 2.045389 2.581226 2.817425

  # This gives the sample quantiles. You can also look foward to simulations
  (like Bert Gunter had suggested) to know better the properties of
  distributions quantiles obtained after 'myfunction'.



  -
  Victor Delgado
  cedeplar.ufmg.br P.H.D. student
  www.fjp.mg.gov.br reseacher
  --
  View this message in context:
  
http://r.789695.n4.nabble.com/calculate-quantiles-of-a-custom-function-tp4256887p4257551.html
  Sent from the R help mailing list archive at Nabble.com.

  __
  R-help@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.



__
R-help@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.


__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread Prof. Dr. Matthias Kohl

Dear Gerhard,

you could also use package distr; e.g.

library(distr)

## use generating function AbscontDistribution
D - AbscontDistribution(d = function(x) dbeta(x, 2, 6) + dbeta(x,6,2), 
low = 0, up = 1, withStand = TRUE)


## quantiles
q(D)(seq(0,1,0.1))

Best
Matthias

On 03.01.2012 19:33, Albyn Jones wrote:

What do quantiles mean here? If you have a mixture density, say

myf - function(x,p0) p0*dbeta(x,2,6) + (1-p0)*dbeta(x,6,2)

then I know what quantiles mean. To find the Pth quantile use uniroot to
solve for the x such that myf(x,p0) - P =0.

albyn

Quoting VictorDelgado victor.m...@fjp.mg.gov.br:



Gerhard wrote



Suppose I create a custom function, consisting of two
beta-distributions:

myfunction - function(x) {
dbeta(x,2,6) + dbeta(x,6,2)
}

How can I calculate the quantiles of myfunction?

Thank you in advance,

Gerhard




Gehard, if do you want to know the quantiles of the new distribution
created
by myfunction. Maybe you can also do:

x - seq(0,1,.01) # insert your 'x'
q - myfunction(x)
# And:
quantile(x)

0% 25% 50% 75% 100%
0.00 1.476177 2.045389 2.581226 2.817425

# This gives the sample quantiles. You can also look foward to
simulations
(like Bert Gunter had suggested) to know better the properties of
distributions quantiles obtained after 'myfunction'.



-
Victor Delgado
cedeplar.ufmg.br P.H.D. student
www.fjp.mg.gov.br reseacher
--
View this message in context:
http://r.789695.n4.nabble.com/calculate-quantiles-of-a-custom-function-tp4256887p4257551.html

Sent from the R help mailing list archive at Nabble.com.

__
R-help@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.




__
R-help@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.


--
Prof. Dr. Matthias Kohl
www.stamats.de

__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread Gerhard Schaden
Am Dienstag, 3. Januar 2012, 08:50:44 schrieb VictorDelgado:
 VictorDelgado wrote
 
  quantile(x)
 
 Correcting to
 
 quantile(q)
 
 -

Dear Victor,

thank you for your answer.

Best,

Gerhard

 Victor Delgado
 cedeplar.ufmg.br P.H.D. student
 www.fjp.mg.gov.br reseacher
 --
 View this message in context:
 http://r.789695.n4.nabble.com/calculate-quantiles-of-a-custom-function-tp42
 56887p4257575.html Sent from the R help mailing list archive at Nabble.com.
 
 __
 R-help@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.

__
R-help@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.


Re: [R] calculate quantiles of a custom function

2012-01-03 Thread Albyn Jones

right.  replace dbetas with pbetas.

albyn

Quoting Duncan Murdoch murdoch.dun...@gmail.com:


On 03/01/2012 1:33 PM, Albyn Jones wrote:

What do quantiles mean here?  If you have a mixture density, say

myf- function(x,p0) p0*dbeta(x,2,6) + (1-p0)*dbeta(x,6,2)

then I know what quantiles mean.  To find the Pth quantile use uniroot
to solve for the x such that myf(x,p0) - P =0.


You would want to integrate first...

Duncan Murdoch


albyn

Quoting VictorDelgadovictor.m...@fjp.mg.gov.br:



 Gerhard wrote



 Suppose I create a custom function, consisting of two beta-distributions:

 myfunction- function(x) {
   dbeta(x,2,6) + dbeta(x,6,2)
 }

 How can I calculate the quantiles of myfunction?

 Thank you in advance,

 Gerhard




 Gehard, if do you want to know the quantiles of the new  
distribution created

 by myfunction. Maybe you can also do:

 x- seq(0,1,.01) # insert your 'x'
 q- myfunction(x)
 # And:
 quantile(x)

   0%  25%  50%  75% 100%
 0.00 1.476177 2.045389 2.581226 2.817425

 # This gives the sample quantiles. You can also look foward to simulations
 (like Bert Gunter had suggested) to know better the properties of
 distributions quantiles obtained after 'myfunction'.



 -
 Victor Delgado
 cedeplar.ufmg.br P.H.D. student
 www.fjp.mg.gov.br reseacher
 --
 View this message in context:
  
http://r.789695.n4.nabble.com/calculate-quantiles-of-a-custom-function-tp4256887p4257551.html

 Sent from the R help mailing list archive at Nabble.com.

 __
 R-help@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.




__
R-help@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.






__
R-help@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.