[R] predict.lda breaks when priors are specified

Andrew Redd aredd at stat.tamu.edu
Mon May 17 00:39:49 CEST 2010


Dear R help,

What am I doing wrong here? when I don't specify the priors it works
just fine but when I specify the priors it breaks.  Does anyone know
why and how I can fix it?
----
> N=20000
> ncontrol=ncases=50
> X <- as.matrix(rnorm(N,0,1))
> eta <- -5.3 + X * 1.7
> p <- exp(eta)/(1+exp(eta))
> Y <- rbinom(N,1,p)
> controls <- sample(seq_len(N), ncontrol, prob=!Y)
> cases <- sample(seq_len(N), ncases, prob=Y)
> data<-rbind(
+ data.frame(Y = 0, X = cbind(1,X[controls,])),
+ data.frame(Y = 1, X = cbind(1,X[cases,])))
> head(data)
  Y X.1        X.2
1 0   1  0.6965323
2 0   1 -0.0817520
3 0   1  2.8673412
4 0   1 -0.2351386
5 0   1  0.2653452
6 0   1 -1.2437612
> m <- lda(Y~X,subset=c(controls,cases),priors=c(.95,.05))
> predict(m)
Error in model.frame.default(formula = Y ~ X, priors = c(0.95, 0.05),  :
  variable lengths differ (found for '(priors)')
> predict(m,prior=c(.95,0.05))
Error in model.frame.default(formula = Y ~ X, priors = c(0.95, 0.05),  :
  variable lengths differ (found for '(priors)')
---
Thanks,
Andrew



More information about the R-help mailing list