Re: [R] Help in error of mixed models

2007-11-04 Thread Andrew Robinson
Hi Bernardo,

it may sound simple-minded, but it looks to me as though you have a
problem with the model.  Unfortunately it's difficult for us to
diagnose the problem because you didn't send an example that we can
reproduce.  We don't have the "base" data.

Based on my understanding of your code, you might try

lme(logit ~ dis*Modality + non.dis*Modality, 
  random = ~ dis+non.dis | id, 
  data = data.bi)

If this doesn't work, try fitting a simpler model, eg 

lme(logit ~ dis*Modality + non.dis*Modality,
  random = ~ | id,
  data = data.bi)

and then using update() to increment towards the full model of
interest.  You can also change the model-fitting engine, I have
sometimes had success using Nelder-Mead where nlminb failed.  For more
information about this see 

?lmeControl

Can I also recommend that you use more spaces in your code?

Good luck

Andrew

On Sun, Nov 04, 2007 at 09:18:09AM -0200, Bernardo Rangel Tura wrote:
> 
> Hi R-masters
> 
> I read the article: Bivariate analysis of sensitivity and specificity
> produces informative summary measures in diagnostic reviews.
> 
> In this paper i proposed a bivariate mixed model and use SAS proc mixed
> to adjust the estimates.
> 
> 
> I thinks use R to make the same and try with this code:
> 
> base<-read.csv("base.csv")
> adj<-.5
> attach(base)
> 
> sens<-(VP+adj)/(VP+FN+2*adj)
> log.S<-log(sens/(1-sens))
> var.log.S<-1/(sens*(1-sens)*(VP+FN))
> dis<-rep(1,length(log.S))
> non.dis<-rep(0,length(log.S))
> data.S<-data.frame(id,Modality,log.S,var.log.S,dis,non.dis)
> names(data.S)<-c("id","Modality","logit","var.logit","dis","non.dis")
> 
> esp<-(VN+adj)/(VN+FP+2*adj)
> log.E<-log((1-esp)/esp)
> var.log.E<-1/(esp*(1-esp)*(VN+FP))
> dis<-rep(0,length(log.E))
> non.dis<-rep(1,length(log.E))
> data.E<-data.frame(id,Modality,log.E,var.log.E,dis,non.dis)
> names(data.E)<-c("id","Modality","logit","var.logit","dis","non.dis")
> 
> data.bi<-rbind(data.S,data.E)
> require(nlme) 
> lme(logit~dis*Modality+non.dis*Modality, random=~dis|id+non.dis|
> id,data=data.bi)
> 
> but i recive a erro msg :
> 
> Error in MEEM(object, conLin, control$niterEM) : 
>   Singularity in backsolve at level 0, block 1
> 
> 
> How in solve this problem? Whats is wrong?
> 
> Thanks in advance
> -- 
> Bernardo Rangel Tura, M.D,Ph.D
> National Institute of Cardiology
> Brazil

> __
> 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.


-- 
Andrew Robinson  
Department of Mathematics and StatisticsTel: +61-3-8344-9763
University of Melbourne, VIC 3010 Australia Fax: +61-3-8344-4599
http://www.ms.unimelb.edu.au/~andrewpr
http://blogs.mbs.edu/fishing-in-the-bay/

__
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 in error of mixed models

2007-11-04 Thread Bernardo Rangel Tura

Hi R-masters

I read the article: Bivariate analysis of sensitivity and specificity
produces informative summary measures in diagnostic reviews.

In this paper i proposed a bivariate mixed model and use SAS proc mixed
to adjust the estimates.


I thinks use R to make the same and try with this code:

base<-read.csv("base.csv")
adj<-.5
attach(base)

sens<-(VP+adj)/(VP+FN+2*adj)
log.S<-log(sens/(1-sens))
var.log.S<-1/(sens*(1-sens)*(VP+FN))
dis<-rep(1,length(log.S))
non.dis<-rep(0,length(log.S))
data.S<-data.frame(id,Modality,log.S,var.log.S,dis,non.dis)
names(data.S)<-c("id","Modality","logit","var.logit","dis","non.dis")

esp<-(VN+adj)/(VN+FP+2*adj)
log.E<-log((1-esp)/esp)
var.log.E<-1/(esp*(1-esp)*(VN+FP))
dis<-rep(0,length(log.E))
non.dis<-rep(1,length(log.E))
data.E<-data.frame(id,Modality,log.E,var.log.E,dis,non.dis)
names(data.E)<-c("id","Modality","logit","var.logit","dis","non.dis")

data.bi<-rbind(data.S,data.E)
require(nlme) 
lme(logit~dis*Modality+non.dis*Modality, random=~dis|id+non.dis|
id,data=data.bi)

but i recive a erro msg :

Error in MEEM(object, conLin, control$niterEM) : 
  Singularity in backsolve at level 0, block 1


How in solve this problem? Whats is wrong?

Thanks in advance
-- 
Bernardo Rangel Tura, M.D,Ph.D
National Institute of Cardiology
Brazil
__
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.