John Hillier
2016-Mar-10 17:41 UTC
[R] truncpareto() - doesn't like my data and odd error message
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
peter dalgaard
2016-Mar-10 17:49 UTC
[R] truncpareto() - doesn't like my data and odd error message
Look closer.... -pd> On 10 Mar 2016, at 18:41 , John Hillier <J.Hillier at lboro.ac.uk> wrote: > > 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 >-- 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
John Hillier
2016-Mar-10 18:03 UTC
[R] truncpareto() - doesn't like my data and odd error message
Dear Peter, Thank you. Apolgies for not looking closer. It is the end of a long day. Fixed now, and I have learnt more about correctly interpreting R's manual pages. For the record .... Summary: If input to truncpareto() is not explicitly called 'y' it can produce error messages about the values 'lower', which might be confusing. So, ensure input is called 'y', and that 'lower' and 'upper' are just outside the range of y. John ------------------------- Dr John Hillier Senior Lecturer - Physical Geography Loughborough University 01509 223727 ________________________________________ From: peter dalgaard <pdalgd at gmail.com> Sent: 10 March 2016 17:49 To: John Hillier Cc: r-help at r-project.org Subject: Re: [R] truncpareto() - doesn't like my data and odd error message Look closer.... -pd> On 10 Mar 2016, at 18:41 , John Hillier <J.Hillier at lboro.ac.uk> wrote: > > 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 >-- 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