[prev in list] [next in list] [prev in thread] [next in thread] 

List:       r-help
Subject:    Re: [R] strange nlme augpred behaviour
From:       PIKAL Petr <petr.pikal () precheza ! cz>
Date:       2017-08-25 8:01:34
Message-ID: 6E8D8DFDE5FA5D4ABCB8508389D1BF88FFAABEB9 () SRVEXCHCM301 ! precheza ! cz
[Download RAW message or body]

Hi David

No as it is rather big and I just thought somebody who has better insight into how \
augPred works could point me why such behaviour could happen.

I **think** that augPred somehow looks into original groupedData object and some \
column in full mar.g triggers error. It seems to me, that when the first column is \
character augPred results in error.

See below.

This works
> mar.g<-groupedData(rutilizace~doba|int, data=mar)
> mar.g<-mar.g[,c(2, 3,4, 6,7, 21)]
> plot(augPred(fit1, level=0:1))

and this not
> mar.g<-groupedData(rutilizace~doba|int, data=mar)
> mar.g<-mar.g[,c(1,2, 3,4, 6,7, 21)]
> plot(augPred(fit1, level=0:1))
Error in `[[<-.data.frame`(`*tmp*`, nm, value = c(6L, 6L, 6L, 6L, 8L,  :
  replacement has 60 rows, data has 12

> dim(mar.g)
[1] 60  7

> str(mar.g)
Classes ‘nfnGroupedData', ‘nfGroupedData', ‘groupedData' and 'data.frame':      \
60 obs. of  7 variables:  $ vzor      : chr  "RP140" "RP141" "RP142" "RP143" ...
 $ tepl      : num  940 940 940 940 970 970 970 970 1000 1000 ...
 $ doba      : num  15 60 120 240 15 60 120 240 15 60 ...
 $ rutilizace: num  91.2 96.5 96.6 99.6 96.3 98 99.6 99.9 99.8 99.8 ...
 $ k2oteor   : num  0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 ...
 $ k2omer    : num  0.155 0.198 0.207 0.212 0.238 0.22 0.203 0.204 0.22 0.222 ...
 $ int       : Ord.factor w/ 12 levels "0.4/940"<"0.33/940"<..: 6 6 6 6 8 8 8 8 10 10 \
                ...
 - attr(*, "formula")=Class 'formula'  language rutilizace ~ doba | int
  .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
 - attr(*, "FUN")=function (x)
 - attr(*, "order.groups")= logi TRUE

After changing column 1 to factor it works.
mar.g[,1]<-factor(mar.g[,1])
plot(augPred(fit1, level=0:1))

As I said, I can live with it, but if anybody wants to dig further, I could try to \
prepare a working example.

Cheers
Petr

> -----Original Message-----
> From: David Winsemius [mailto:dwinsemius@comcast.net]
> Sent: Thursday, August 24, 2017 6:20 PM
> To: PIKAL Petr <petr.pikal@precheza.cz>
> Cc: Bert Gunter <bgunter.4567@gmail.com>; r-help mailing list <r-help@r-
> project.org>
> Subject: Re: [R] strange nlme augpred behaviour
> 
> 
> > On Aug 23, 2017, at 8:08 AM, PIKAL Petr <petr.pikal@precheza.cz> wrote:
> > 
> > Hi
> > 
> > Well, yes I tried it about two weeks ago but my post did not get through as it
> still awaits moderator approval.
> 
> It got through just fine. It appeared on Aug 15. It just didn't get any replies.
> 
> As I read your original question in this thread, it was not clear to me that you
> had provided the data-object named "mar".
> 
> -- David.
> 
> 
> > I could check which column is offending but actually it is only minor nuisance,
> I can live with selection of columns before fitting a model. What seems to me
> strange is that both full dataset and only selected colums gave me identical fit
> results but only one works within augPred.
> > 
> > Cheers
> > Petr
> > 
> > > -----Original Message-----
> > > From: Bert Gunter [mailto:bgunter.4567@gmail.com]
> > > Sent: Wednesday, August 23, 2017 4:50 PM
> > > To: PIKAL Petr <petr.pikal@precheza.cz>
> > > Cc: r-help mailing list <r-help@r-project.org>
> > > Subject: Re: [R] strange nlme augpred behaviour
> > > 
> > > Better posted on r-sig-mixed-models , no?
> > > 
> > > Cheers,
> > > Bert
> > > 
> > > 
> > > Bert Gunter
> > > 
> > > "The trouble with having an open mind is that people keep coming
> > > along and sticking things into it."
> > > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
> > > 
> > > 
> > > On Wed, Aug 23, 2017 at 5:17 AM, PIKAL Petr <petr.pikal@precheza.cz>
> wrote:
> > > > Dear all
> > > > 
> > > > I encountered strange behaviour of augPred with virtually the same
> > > > data
> > > > 
> > > > First I made groupedData object.
> > > > > mar.g<-groupedData(rutilizace~doba|int, data=mar)
> > > > 
> > > > When I perform nlme on complete dataset I get an error with augPred
> > > > > fit<-nlsList(rutilizace~SSasymp(doba, Asym, R0,  lrc), data=mar.g)
> > > > Warning message:
> > > > c("1 error caught in nls(y ~ cbind(1 - exp(-exp(lrc) * x),
> > > > exp(-exp(lrc) * x)), data
> > > = xy, : singular gradient", "1 error caught in     start = list(lrc = lrc), \
> > > algorithm
> =
> > > \"plinear\"): singular gradient")
> > > > > fit1<-nlme(fit)
> > > > > plot(augPred(fit1, level=0:1))
> > > > Error in `[[<-.data.frame`(`*tmp*`, nm, value = c(6L, 6L, 6L, 6L, 8L,  :
> > > > replacement has 60 rows, data has 12
> > > > 
> > > > However when I make subset of my data to keep only affected collumns.
> > > > > 
> > > > > mar.g<-mar.g[,c(3,4, 21)]
> > > > 
> > > > > fit<-nlsList(rutilizace~SSasymp(doba, Asym, R0,  lrc), data=mar.g)
> > > > Warning message:
> > > > c("1 error caught in nls(y ~ cbind(1 - exp(-exp(lrc) * x),
> > > > exp(-exp(lrc) * x)), data
> > > = xy, : singular gradient", "1 error caught in     start = list(lrc = lrc), \
> > > algorithm
> =
> > > \"plinear\"): singular gradient")
> > > > > fit2<-nlme(fit)
> > > > > plot(augPred(fit2, level=0:1))
> > > > > 
> > > > augPred works as a charm.
> > > > 
> > > > When I compare fit1 and fit2 they are equal
> > > > > all.equal(fit1, fit2)
> > > > [1] TRUE
> > > > > 
> > > > 
> > > > Does anybody know where I should try to search for problems?
> > > > 
> > > > Best regards
> > > > Petr
> > > > 
> > > > > traceback()
> > > > 6: stop(sprintf(ngettext(N, "replacement has %d row, data has %d",
> > > > "replacement has %d rows, data has %d"), N, nrows), domain =
> > > > NA)
> > > > 5: `[[<-.data.frame`(`*tmp*`, nm, value = c(1L, 1L, 1L, 1L, 5L,
> > > > 5L, 5L, 5L, 9L, 9L, 9L, 9L, 4L, 4L, 4L, 4L, 8L, 8L, 8L, 8L, 12L,
> > > > 12L, 12L, 12L, 3L, 3L, 3L, 3L, 7L, 7L, 7L, 7L, 11L, 11L, 11L,
> > > > 11L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 9L, 9L, 9L, 9L, 2L, 2L,
> > > > 2L, 2L, 6L, 6L, 6L, 6L, 10L, 10L, 10L, 10L))
> > > > 4: `[[<-`(`*tmp*`, nm, value = c(1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L,
> > > > 9L, 9L, 9L, 9L, 4L, 4L, 4L, 4L, 8L, 8L, 8L, 8L, 12L, 12L, 12L,
> > > > 12L, 3L, 3L, 3L, 3L, 7L, 7L, 7L, 7L, 11L, 11L, 11L, 11L, 1L,
> > > > 1L, 1L, 1L, 5L, 5L, 5L, 5L, 9L, 9L, 9L, 9L, 2L, 2L, 2L, 2L, 6L,
> > > > 6L, 6L, 6L, 10L, 10L, 10L, 10L))
> > > > 3: gsummary(data, groups = groups)
> > > > 2: augPred.lme(fit1, level = 0:1)
> > > > 1: augPred(fit1, level = 0:1)
> > > > 
> > > > > version
> > > > _
> > > > platform       x86_64-w64-mingw32
> > > > arch           x86_64
> > > > os             mingw32
> > > > system         x86_64, mingw32
> > > > status         Under development (unstable)
> > > > major          3
> > > > minor          5.0
> > > > year           2017
> > > > month          07
> > > > day            31
> > > > svn rev        73003
> > > > language       R
> > > > version.string R Under development (unstable) (2017-07-31 r73003)
> > > > nickname       Unsuffered Consequences
> > > > > 
> > > > 
> > > > Package nlme version 3.1-131
> > > > 
> > > > 
> > > > ________________________________
> > .
> > > > ______________________________________________
> > > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > > > 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 -- To UNSUBSCRIBE and more, see
> > 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.
> 
> David Winsemius
> Alameda, CA, USA
> 
> 'Any technology distinguishable from magic is insufficiently advanced.'   -
> Gehm's Corollary to Clarke's Third Law
> 
> 
> 
> 


________________________________
Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou \
určeny pouze jeho adresátům. Jestliže jste obdržel(a) tento e-mail omylem, \
informujte laskavě neprodleně jeho odesílatele. Obsah tohoto emailu i s \
přílohami a jeho kopie vymažte ze svého systému. Nejste-li zamýšleným \
adresátem tohoto emailu, nejste oprávněni tento email jakkoliv užívat, \
rozšiřovat, kopírovat či zveřejňovat. Odesílatel e-mailu neodpovídá za \
eventuální škodu způsobenou modifikacemi či zpožděním přenosu e-mailu.

V případě, že je tento e-mail součástí obchodního jednání:
- vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy, a \
                to z jakéhokoliv důvodu i bez uvedení důvodu.
- a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout; \
Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany \
                příjemce s dodatkem či odchylkou.
- trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve výslovným \
                dosažením shody na všech jejích náležitostech.
- odesílatel tohoto emailu informuje, že není oprávněn uzavírat za společnost \
žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn nebo \
písemně pověřen a takové pověření nebo plná moc byly adresátovi tohoto \
emailu případně osobě, kterou adresát zastupuje, předloženy nebo jejich \
existence je adresátovi či osobě jím zastoupené známá.

This e-mail and any documents attached to it may be confidential and are intended \
only for its intended recipients. If you received this e-mail by mistake, please \
immediately inform its sender. Delete the contents of this e-mail with all \
attachments and its copies from your system. If you are not the intended recipient of \
this e-mail, you are not authorized to use, disseminate, copy or disclose this e-mail \
in any manner. The sender of this e-mail shall not be liable for any possible damage \
caused by modifications of the e-mail or by delay with transfer of the email.

In case that this e-mail forms part of business dealings:
- the sender reserves the right to end negotiations about entering into a contract in \
                any time, for any reason, and without stating any reasoning.
- if the e-mail contains an offer, the recipient is entitled to immediately accept \
such offer; The sender of this e-mail (offer) excludes any acceptance of the offer on \
                the part of the recipient containing any amendment or variation.
- the sender insists on that the respective contract is concluded only upon an \
                express mutual agreement on all its aspects.
- the sender of this e-mail informs that he/she is not authorized to enter into any \
contracts on behalf of the company except for cases in which he/she is expressly \
authorized to do so in writing, and such authorization or power of attorney is \
submitted to the recipient or the person represented by the recipient, or the \
existence of such authorization is known to the recipient of the person represented \
by the recipient. ______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic