On Jun 7, 2013, at 10:36 AM, Daofeng Li <lid...@gmail.com> wrote:

> Thank you Sarah and Marc for your fast and nice response.
> Apology for didn't include all information.
> 
> I have a input file like following:
> 
> gene1 18      15      13      13      16      9       20      24
> gene2 15      8       8       7       0       12      18      4
> gene3 10      9       8       12      9       11      12      12
> gene4 4       0       4       3       0       5       0       0
> gene5 0       1       0       0       1       5       1       0
> gene6 3       3       3       3       4       4       4       4
> gene7 0       4       0       2       2       2       0       0
> gene8 4       4       7       3       0       6       6       12
> gene9 11      6       13      10      13      7       12      9
> gene10        6       3       6       3       4       7       6       3
> 
> I am using following R code to compare the difference between the 1st 4 
> numbers against 2nd 4 numbers:
> 
> library(MASS)
> library(coin)
> suppressPackageStartupMessages(suppressWarnings(library(tcltk)))
> library(qvalue)
> library(plyr)
> dat = 
> read.table("test",col.names=c("gene","b1","b2","b3","b4","c1","c2","c3","c4"))
> index=(apply(dat[,-1],1,sum)>0)
> data = dat[index,]
> group=c(1,1,1,1,0,0,0,0)
> n=nrow(data)
> result=NULL
> for (i in 1:n){
>   print(i)
>   y=as.numeric(data[i,-1])
>   if (all((y-mean(y))==0))
>     result=rbind(result,c(0,0,0,1))
>   else {
>     fit=glm.nb(y~group)
>     result=rbind(result,summary(fit)$coef[2,])
>   }
> }
> qval = qvalue(result[,4])
> fdr=0.1
> index=(qval$qvalues<fdr)
> dat.result = data[index,]
> write.table(dat.result,file="test_result",row.names=F,quote=F)
> 
> If you use this input file and code, would reproduce the same error:
> 
> Loading required package: methods
> Loading required package: survival
> Loading required package: splines
> Loading required package: mvtnorm
> Loading required package: modeltools
> Loading required package: stats4
> 
> Attaching package: ‘plyr’
> 
> The following object is masked from ‘package:modeltools’:
> 
>     empty
> 
> [1] 1
> [1] 2
> [1] 3
> [1] 4
> [1] 5
> [1] 6
> Error in while ((it <- it + 1) < limit && abs(del) > eps) { : 
>   missing value where TRUE/FALSE needed
> Calls: glm.nb -> as.vector -> theta.ml
> In addition: Warning messages:
> 1: In theta.ml(Y, mu, sum(w), w, limit = control$maxit, trace = control$trace 
> >  :
>   iteration limit reached
> 2: In theta.ml(Y, mu, sum(w), w, limit = control$maxit, trace = control$trace 
> >  :
>   iteration limit reached
> Execution halted
> 
> So might be the error was in 6th line, not the line I pasted before (5th 
> line)? Sorry about that.
> 
> Thanks.
> 
> Daofeng


Your 'y' at that point in the loop is:
  
> y
[1] 3 3 3 3 4 4 4 4

and 'group' is:

> group
[1] 1 1 1 1 0 0 0 0


> glm.nb(y ~ group)
Error in while ((it <- it + 1) < limit && abs(del) > eps) { : 
  missing value where TRUE/FALSE needed


Think about it...  :-)

Regards,

Marc Schwartz

______________________________________________
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