Hello all,

Trying to get this piece of code to work on my data set. It is from
http://www.itc.nl/personal/rossiter.

logit.roc <- function(model, steps=100)
                {
                field.name <- attr(attr(terms(formula(model)), "factors"),
"dimnames")[[1]][1]
                eval(parse(text=paste("tmp <- ", ifelse(class(model$data) == 
"data.frame",
"model$data$", ""), field.name, sep="")))
                r <- data.frame(pts = seq(0, 1-(1/steps), by=1/steps), sens = 
0, spec=0);
for (i in 0:steps)
                {
                      thresh <- i/steps;
                      r$sens[i] <- sum((fitted(model) >= thresh) & 
tmp)/sum(tmp);
                      r$spec[i] <- sum((fitted(model) < thresh) & 
!tmp)/sum(!tmp)
                }
                return(r)}

where model is the output of a glm.

The problem is the "sum((fitted(model) >= thresh) & tmp)" bit. The lengths
of fitted(model) and tmp are not equal because some of the cases were
deleted from the model due to missing data! fitted(model) is a set of named
numbers while tmp is a set of integers.

My question is:
- How do I determine which cases were deleted from the model and then delete
the associated cases from tmp?

I hope this makes sense and would really appreciate any help that people may
have.

Thanks,
Tim



--
View this message in context: 
http://r.789695.n4.nabble.com/Missing-data-problem-and-ROC-curves-tp4670661.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.

Reply via email to