[R] truncpareto() - doesn't like my data and odd error message

John Hillier J.Hillier at lboro.ac.uk
Thu Mar 10 18:41:27 CET 2016


Thank you Peter,

Yes, it seems to do the same even if I simultaneously make that change.  Output below.

> pdataH <- data.frame(y = H_to_fit$Height)
> summary(pdataH)
       y       
 Min.   :2000  
 1st Qu.:2281  
 Median :2666  
 Mean   :2825  
 3rd Qu.:3212  
 Max.   :4794  
> fit3 <- vglm(y ~ 1, truncpareto(1999, 4794), data = pdataH, trace = TRUE)
Error in eval(expr, envir, enclos) : 
  the value of argument 'upper' is too low (requires 'max(y) < upper')

-------------------------
Dr John Hillier
Senior Lecturer - Physical Geography
Loughborough University
01509 223727

________________________________________
From: peter dalgaard <pdalgd at gmail.com>
Sent: 10 March 2016 09:36
To: John Hillier
Cc: r-help at r-project.org
Subject: Re: [R] truncpareto() - doesn't like my data and odd error message

Also if you simultaneously change the 2000 to say 1999?

-p

On 10 Mar 2016, at 09:22 , John Hillier <J.Hillier at lboro.ac.uk> wrote:

> Thank you Peter,
>
> I believe this might be the way the error message is hard coded (i.e. it's always y to describe the input).  Anyway, I changed the first line to
>> pdataH <- data.frame(y = H_to_fit$Height)
> This makes the input 'y' instead of 'H_to_fit.Height', but makes no difference to the outcome/error message.
>
> John
>
> -------------------------
> Dr John Hillier
> Senior Lecturer - Physical Geography
> Loughborough University
> 01509 223727
>
> ________________________________________
> From: peter dalgaard <pdalgd at gmail.com>
> Sent: 09 March 2016 19:58
> To: John Hillier
> Cc: r-help at r-project.org
> Subject: Re: [R] truncpareto() - doesn't like my data and odd error message
>
>> On 09 Mar 2016, at 18:52 , John Hillier <J.Hillier at lboro.ac.uk> wrote:
>>
>> Dear All,
>>
>>
>> I am attempting to describe a distribution of height data.  It appears roughly linear on a log-log plot, so Pareto seems sensible.  However, the data are only reliable in a limited range (e.g. 2000 to 4800 m). So, I would like to fit a Pareto distribution to the reliable (i.e. truncated) section of the data.
>>
>>
>> I found truncpareto(), and implemented one of its example uses successfully.  Specifically, the third one at http://www.inside-r.org/packages/cran/vgam/docs/paretoff (also see p.s.).
>>
>>
>> When I try to run my data, I get the output below. Inputs shown with chevrons.
>>
>>
>>> pdataH <- data.frame(H_to_fit$Height)
>>> summary(pdataH)
>>  H_to_fit.Height
>>  Min.   :2000
>>  1st Qu.:2281
>>
>>  Median :2666
>>  Mean   :2825
>>  3rd Qu.:3212
>>  Max.   :4794
>>> fit3 <- vglm(y ~ 1, truncpareto(2000, 4794), data = pdataH, trace = TRUE)
>> Error in eval(expr, envir, enclos) :
>> the value of argument 'lower' is too high (requires '0 < lower < min(y)')
>>
>>
>> This is odd as the usage format is - truncpareto(lower, upper), and varying 2000 to 1900 and 2100 makes no difference. Neither do smaller or larger variations. From the summary I think that my lowest input is 2000, which I am taking as min(y). I have also played with the upper limit.  pdataH has 2117 observations in it.
>>
>>
>> Is this a data format thing? i.e. of pdataH (a tried a few things, but to no avail)
>>
>
> Umm, it doesn't seem to have a column called "y"?
>
> --
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Office: A 4.23
> Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com
>
>
>
>
>
>
>
>
>

--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-help mailing list