Dear R users,

could you please help me figure out why I am getting an error?

Initially my data looks like this:

> attributes(compl)$names
 [1] "UserID"         "compl_bin"      "Sex.x"          "PHQ_base"       "PHQ_Surv1"      "PHQ_Surv2"      "PHQ_Surv3"     
 [8] "PHQ_Surv4"      "EFE"            "Neuro"          "Intervention.x" "depr0"          "error1_1.x"     "error1_2.x"    
[15] "error1_3.x"     "error1_4.x"     "stress0"        "stress1"        "stress2"        "stress3"        "stress4"       
[22] "hours1"         "hours2"         "hours3"         "hours4"         "subject"       


First I reshape my data to prepare for geeglm:

compl$subject <- factor(rownames(compl))
nobs <- nrow(compl) 
compl_long <- reshape(compl, idvar = "subject",varying = list(c( "PHQ_Surv1" , "PHQ_Surv2" , "PHQ_Surv3"  , "PHQ_Surv4"  ), c("error1_1.x", "error1_2.x", "error1_3.x", "error1_4.x"), c("stress1", "stress2", "stress3", "stress4"), c("hours1", "hours2", "hours3", "hours4")), v.names = c("PHQ", "error", "stress", "hours"),times = c("1", "2", "3", "4"), direction = "long")

 [1] "UserID"         "compl_bin"      "Sex.x"          "PHQ_base"       "EFE"            "Neuro"          "Intervention.x"
 [8] "depr0"          "stress0"        "subject"        "time"           "PHQ"            "error"          "stress"        
[15] "hours" 

Then I use geeglm function:

geeSand=(geeglm(PHQ~as.factor(compl_bin)+Neuro+PHQ_base+as.factor(depr0)+EFE+as.factor(Sex.x)+as.factor(error)+stress+hours,family = poisson,data=compl_long,id=subject, corst="exchangeable"))

I am getting an error:

"Error in geese.fit(xx, yy, id, offset, soffset, w, waves = waves, zsca,  : 
  nrow(zsca) and length(y) not match"

If I remove variables as.factor(error) and hours, geeglm does not complain, and I am getting the output. The function does not work with error and hours variables. I check the length of all the variables, they are equal. Could you please help me figure out what is wrong?

Many thanks!
	[[alternative HTML version deleted]]

