##setwd("/media/49ED-21FF/REVERSE/wd") tbtest<-read.csv("pb1.csv",row.names=1) str(tbtest) tbtest$gender<-as.factor(tbtest$gender) tbtest$atcd1<-as.factor(tbtest$atcd1) tbtest$atcd2<-as.factor(tbtest$atcd2) tbtest$atcd3<-as.factor(tbtest$atcd3) tbtest$atcd4<-as.factor(tbtest$atcd4) tbtest$f1<-as.factor(tbtest$f1) tbtest$f2<-as.factor(tbtest$f2) tbtest$f3<-as.factor(tbtest$f3) tbtest$f4<-as.factor(tbtest$f4) tbtest$f6<-as.factor(tbtest$f6) tbtest$f7<-as.factor(tbtest$f7) tbtest$f8<-as.factor(tbtest$f8) tbtest$f678<-as.factor(tbtest$f678) tbtest$f9<-as.factor(tbtest$f9) tbtest$f10<-as.factor(tbtest$f10) tbtest$f10a<-as.factor(tbtest$f10a) tbtest$f11<-as.factor(tbtest$f11) str(tbtest) ## where : # f1a<-"H" if (gender=="0") # <-"Favecco" if(gender=="1 & f1=="TRUE") # <-"Fsansco" if(gender=="1 & f1=="FALSE") # with(tbtest,ftable(f1a~gender+f1)) # f2a<-"H" if (gender=="0") # <-"Favechrt" if(gender=="1 & f2=="TRUE") # <-"Fsanshrt" if(gender=="1 & f2=="FALSE") # with(tbtest,ftable(f2a~gender+f2) # f12a<-"H" if (gender=="0") # <-"Favechorm" if(gender=="1 & (f1=="TRUE" | f2=="TRUE")) # <-"Fsanshorm" if(gender=="1 & (f1=="FALSE" & f2=="FALSE")) # f678<-"1" if (f6=="1"|f7=="1"|f8=="1") # c9a is c9 with some NA values set to 1 (theoritical range 0-1 : 0-100%) (not yet used : particular distribution) # f10a is f10 with a new level : some NA values set to "0" (not yet used because of a small group : should relevel) library(Hmisc) ## to generate "Error in matxv(X, xcof) : columns in a (46) must be <= length of b (44)" tbtestI<-aregImpute(~time+event +gender+age+weight+height+bmi +atcd1+atcd2 +atcd3+atcd4 # +f1+f2 +f1a+f2a+f12a +f3+f4 +c1 +c2+c3+c4 +c5+c6+c7+c8 +f6+f7+f8+f678 +f9 # +c9+f10 # +c9a+f10a +f11, n.impute=5,data=tbtest ) ## with "I()" for continuous variables : same error, different numbers ## "Error in matxv(X, xcof) : columns in a (33) must be <= length of b (31)" tbtestI<-aregImpute(~I(time)+event +gender+I(age)+I(weight)+I(height)+I(bmi) +atcd1+atcd2 +atcd3+atcd4 # +f1+f2 +f1a+f2a+f12a +f3+f4 +I(c1) +I(c2)+I(c3)+I(c4) +I(c5)+I(c6)+I(c7)+I(c8) +f6+f7+f8+f678 +f9 # +I(c9)+f10 # +I(c9a)+f10a +f11, n.impute=5,data=tbtest ) ## commenting f1a+f2a+f12a solves the error ## but unmasks warnings : "In f$xcoef[, 1] * f$xcenter..." tbtestI<-aregImpute(~time+event +gender+age+weight+height+bmi +atcd1+atcd2 +atcd3+atcd4 # +f1+f2 # +f1a+f2a+f12a +f3+f4 +c1 +c2+c3+c4 +c5+c6+c7+c8 +f6+f7+f8+f678 +f9 # +c9+f10 # +c9a+f10a +f11, n.impute=5,data=tbtest ) ## uncommenting f1+f2 is ok (with a fifth warning) tbtestI<-aregImpute(~time+event +gender+age+weight+height+bmi +atcd1+atcd2 +atcd3+atcd4 +f1+f2 # +f1a+f2a+f12a +f3+f4 +c1 +c2+c3+c4 +c5+c6+c7+c8 +f6+f7+f8+f678 +f9 # +c9+f10 # +c9a+f10a +f11, n.impute=5,data=tbtest ) ## ignoring gender (f1a f2a definitions) doesn't change anything tbtestI<-aregImpute(~time+event # +gender +age+weight+height+bmi +atcd1+atcd2 +atcd3+atcd4 # +f1+f2 +f1a+f2a+f12a +f3+f4 +c1 +c2+c3+c4 +c5+c6+c7+c8 +f6+f7+f8+f678 +f9 # +c9+f10 # +c9a+f10a +f11, n.impute=5,data=tbtest ) ## ignoring f12a doesn't change anything tbtestI<-aregImpute(~time+event +gender+age+weight+height+bmi +atcd1+atcd2 +atcd3+atcd4 # +f1+f2 +f1a+f2a #+f12a +f3+f4 +c1 +c2+c3+c4 +c5+c6+c7+c8 +f6+f7+f8+f678 +f9 # +c9+f10 # +c9a+f10a +f11, n.impute=5,data=tbtest ) ## ignoring f1a and f2a (and not f12a) doesn't change anything tbtestI<-aregImpute(~time+event +gender+age+weight+height+bmi +atcd1+atcd2 +atcd3+atcd4 # +f1+f2 # +f1a+f2a +f12a +f3+f4 +c1 +c2+c3+c4 +c5+c6+c7+c8 +f6+f7+f8 #f678 +f9 # +c9+f10 # +c9a+f10a +f11, n.impute=5,data=tbtest ) ## ignoring f678 reduces number of warnings tbtestI<-aregImpute(~time+event +gender+age+weight+height+bmi +atcd1+atcd2 +atcd3+atcd4 +f1+f2 # +f1a+f2a+f12a +f3+f4 +c1 +c2+c3+c4 +c5+c6+c7+c8 +f6+f7+f8 #f678 +f9 # +c9+f10 # +c9a+f10a +f11, n.impute=5,data=tbtest ) #So I guess f1a f2a f12a are the problem but I don't understand why #(c9/c9a is another problem : a percentage I should probably transform before imputing)