R Under development (unstable) (2023-08-08 r84908 ucrt) -- "Unsuffered Consequences" Copyright (C) 2023 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > cat("# multiple imputation through chained equations test\n") # multiple imputation through chained equations test > library("qgcomp") > > N = 100 > set.seed(123) > dat <- data.frame(y=runif(N), x1=runif(N), x2=runif(N), z=runif(N)) > true = qgcomp.noboot(f=y ~ z + x1 + x2, expnms = c('x1', 'x2'), + data=dat, q=2, family=gaussian()) > mdat <- dat > mdat$x1 = ifelse(mdat$x1>0.5, mdat$x1, NA) > mdat$x2 = ifelse(mdat$x2>0.75, mdat$x2, NA) > true <- qgcomp.noboot(f=y ~ z + x1 + x2, expnms = c('x1', 'x2'), + data=dat, q=2, family=gaussian()) > cc <- qgcomp.noboot(f=y ~ z + x1 + x2, expnms = c('x1', 'x2'), + data=mdat[complete.cases(mdat),], q=2, family=gaussian()) > > > cdat = mdat > cdat$x1 = ifelse(is.na(cdat$x1), 0.5/sqrt(2), cdat$x1) > #data = cdat > ff <- function(data){ + nms = names(data) + j = which(nms == "x2") + f <- function(){ + nms = names(data) + res = mice.impute.leftcenslognorm(y=cdat$x2, + ry=!is.na(cdat$x2), + x=cdat[,c("x1", "y", "z")], + wy=is.na(cdat$x2), + lod=NULL, + debug=TRUE) + res + } + f() + } > > # works when LOD is not specified and based on minimum non-missing value > ff(cdat) nmissing totalN min_imp max_imp lod 76.0000000 100.0000000 0.2824309 0.7535210 0.7542474 [1] 0.5453289 0.7109321 0.3605570 0.5747998 0.4428659 0.4427317 0.7396423 [8] 0.5830133 0.4287472 0.4378637 0.6174782 0.5343448 0.6282190 0.5254711 [15] 0.7184175 0.5974780 0.4503221 0.5888934 0.4601973 0.7131059 0.6614395 [22] 0.6303634 0.5791908 0.7535210 0.4323473 0.4850550 0.4034150 0.4922787 [29] 0.5147324 0.4608162 0.4244618 0.5302258 0.7037658 0.5409285 0.7210124 [36] 0.6894536 0.6459240 0.5560192 0.6067892 0.5441831 0.5934005 0.5841008 [43] 0.5180733 0.5091407 0.5424166 0.7223845 0.6892315 0.6587788 0.4633582 [50] 0.4730208 0.7430643 0.4910895 0.5933055 0.4927373 0.6530058 0.5515121 [57] 0.4020280 0.6577928 0.5352044 0.6777720 0.4020968 0.7010210 0.5850679 [64] 0.6439272 0.6364347 0.6080783 0.6576341 0.2824309 0.4555476 0.5146143 [71] 0.4707193 0.7166695 0.5613156 0.5550838 0.7337432 0.5124557 > > > f0 <- function(data, j){ + print(sys.parent()) + mice.impute.leftcenslognorm(y=data$x2, + ry=!is.na(data$x2), + x=data[,c("x1", "y", "z")], + wy=is.na(data$x2), + lod=c(NA, 0.5, 0.75, NA), + debug=TRUE) + } > > f1 <- function(data, j){ + print(sys.parent()) + #print(eval(as.name("data"), envir = parent.frame(n=1))) + f0(data, j=j) + } > > f2 <- function(data, j){ + print(sys.parent()) + f1(data, j) + } > f3 <- function(data, j){ + print(sys.parent()) + f2(data, j) + } > f4 <- function(data, j){ + print(sys.parent()) + f3(data, j) + } > # none of these appears to work because "j" is never found > f1(cdat, 3) [1] 0 [1] 1 nmissing totalN min_imp max_imp 76 100 NA NA integer(0) NULL fub1 fub2 fub3 fub4 fub5 fub6 fub7 fub8 fub9 fub10 fub11 fub12 fub13 NA NA NA NA NA NA NA NA NA NA NA NA NA fub14 fub15 fub16 fub17 fub18 fub19 fub20 fub21 fub22 fub23 fub24 fub25 fub26 NA NA NA NA NA NA NA NA NA NA NA NA NA fub27 fub28 fub29 fub30 fub31 fub32 fub33 fub34 fub35 fub36 fub37 fub38 fub39 NA NA NA NA NA NA NA NA NA NA NA NA NA fub40 fub41 fub42 fub43 fub44 fub45 fub46 fub47 fub48 fub49 fub50 fub51 fub52 NA NA NA NA NA NA NA NA NA NA NA NA NA fub53 fub54 fub55 fub56 fub57 fub58 fub59 fub60 fub61 fub62 fub63 fub64 fub65 NA NA NA NA NA NA NA NA NA NA NA NA NA fub66 fub67 fub68 fub69 fub70 fub71 fub72 fub73 fub74 fub75 fub76 NA NA NA NA NA NA NA NA NA NA NA lod1 lod2 lod3 lod4 NA 0.50 0.75 NA numeric(0) returny u linear.predictors scale 1 NA NA -0.07087212 0.05505391 2 NA NA -0.14555615 0.05505391 3 NA NA -0.16222396 0.05505391 4 NA NA -0.10312576 0.05505391 5 NA NA -0.20642833 0.05505391 6 NA NA -0.18202658 0.05505391 7 NA NA -0.11530755 0.05505391 8 NA NA -0.09968902 0.05505391 9 NA NA -0.18314151 0.05505391 10 NA NA -0.16510800 0.05505391 11 NA NA -0.10772346 0.05505391 12 NA NA -0.09724757 0.05505391 13 NA NA -0.10825528 0.05505391 14 NA NA -0.15541196 0.05505391 15 NA NA -0.17561541 0.05505391 16 NA NA -0.15841246 0.05505391 17 NA NA -0.16808455 0.05505391 18 NA NA -0.09953742 0.05505391 19 NA NA -0.21193589 0.05505391 20 NA NA -20.00000000 0.05505391 21 NA NA -20.00000000 0.05505391 22 NA NA -20.00000000 0.05505391 23 NA NA -20.00000000 0.05505391 24 NA NA -20.00000000 0.05505391 25 NA NA -20.00000000 0.05505391 26 NA NA -20.00000000 0.05505391 27 NA NA -20.00000000 0.05505391 28 NA NA -20.00000000 0.05505391 29 NA NA -20.00000000 0.05505391 30 NA NA -20.00000000 0.05505391 31 NA NA -20.00000000 0.05505391 32 NA NA -20.00000000 0.05505391 33 NA NA -20.00000000 0.05505391 34 NA NA -20.00000000 0.05505391 35 NA NA -20.00000000 0.05505391 36 NA NA -20.00000000 0.05505391 37 NA NA -20.00000000 0.05505391 38 NA NA -20.00000000 0.05505391 39 NA NA -20.00000000 0.05505391 40 NA NA -20.00000000 0.05505391 41 NA NA -20.00000000 0.05505391 42 NA NA -20.00000000 0.05505391 43 NA NA -20.00000000 0.05505391 44 NA NA -20.00000000 0.05505391 45 NA NA -20.00000000 0.05505391 46 NA NA -20.00000000 0.05505391 47 NA NA -20.00000000 0.05505391 48 NA NA -20.00000000 0.05505391 49 NA NA -20.00000000 0.05505391 50 NA NA -20.00000000 0.05505391 51 NA NA -20.00000000 0.05505391 52 NA NA -20.00000000 0.05505391 53 NA NA -20.00000000 0.05505391 54 NA NA -20.00000000 0.05505391 55 NA NA -20.00000000 0.05505391 56 NA NA -20.00000000 0.05505391 57 NA NA -20.00000000 0.05505391 58 NA NA -20.00000000 0.05505391 59 NA NA -20.00000000 0.05505391 60 NA NA -20.00000000 0.05505391 61 NA NA -20.00000000 0.05505391 62 NA NA -20.00000000 0.05505391 63 NA NA -20.00000000 0.05505391 64 NA NA -20.00000000 0.05505391 65 NA NA -20.00000000 0.05505391 66 NA NA -20.00000000 0.05505391 67 NA NA -20.00000000 0.05505391 68 NA NA -20.00000000 0.05505391 69 NA NA -20.00000000 0.05505391 70 NA NA -20.00000000 0.05505391 71 NA NA -20.00000000 0.05505391 72 NA NA -20.00000000 0.05505391 73 NA NA -20.00000000 0.05505391 74 NA NA -20.00000000 0.05505391 75 NA NA -20.00000000 0.05505391 76 NA NA -20.00000000 0.05505391 [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [26] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [51] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [76] NA Warning message: In mice.impute.leftcenslognorm(y = data$x2, ry = !is.na(data$x2), : Something happened with mice.impute.leftcenslognorm, missing values present (set debug=TRUE to see intermediate values) > f2(cdat, 3) [1] 0 [1] 1 [1] 2 nmissing totalN min_imp max_imp 76 100 NA NA integer(0) nms1 nms2 nms3 nms4 "y" "x1" "x2" "z" fub1 fub2 fub3 fub4 fub5 fub6 fub7 fub8 fub9 fub10 fub11 fub12 fub13 NA NA NA NA NA NA NA NA NA NA NA NA NA fub14 fub15 fub16 fub17 fub18 fub19 fub20 fub21 fub22 fub23 fub24 fub25 fub26 NA NA NA NA NA NA NA NA NA NA NA NA NA fub27 fub28 fub29 fub30 fub31 fub32 fub33 fub34 fub35 fub36 fub37 fub38 fub39 NA NA NA NA NA NA NA NA NA NA NA NA NA fub40 fub41 fub42 fub43 fub44 fub45 fub46 fub47 fub48 fub49 fub50 fub51 fub52 NA NA NA NA NA NA NA NA NA NA NA NA NA fub53 fub54 fub55 fub56 fub57 fub58 fub59 fub60 fub61 fub62 fub63 fub64 fub65 NA NA NA NA NA NA NA NA NA NA NA NA NA fub66 fub67 fub68 fub69 fub70 fub71 fub72 fub73 fub74 fub75 fub76 NA NA NA NA NA NA NA NA NA NA NA lod1 lod2 lod3 lod4 NA 0.50 0.75 NA numeric(0) returny u linear.predictors scale 1 NA NA -0.01166491 0.06697839 2 NA NA -0.12978639 0.06697839 3 NA NA -0.07838771 0.06697839 4 NA NA -0.03949798 0.06697839 5 NA NA -0.22113529 0.06697839 6 NA NA -0.11389471 0.06697839 7 NA NA -0.05529997 0.06697839 8 NA NA -0.04864980 0.06697839 9 NA NA -0.11546111 0.06697839 10 NA NA -0.09672334 0.06697839 11 NA NA -0.07402409 0.06697839 12 NA NA -0.05148865 0.06697839 13 NA NA -0.05510546 0.06697839 14 NA NA -0.13467778 0.06697839 15 NA NA -0.16596435 0.06697839 16 NA NA -0.09134674 0.06697839 17 NA NA -0.21894411 0.06697839 18 NA NA -0.03421462 0.06697839 19 NA NA -0.17396907 0.06697839 20 NA NA -20.00000000 0.06697839 21 NA NA -20.00000000 0.06697839 22 NA NA -20.00000000 0.06697839 23 NA NA -20.00000000 0.06697839 24 NA NA -20.00000000 0.06697839 25 NA NA -20.00000000 0.06697839 26 NA NA -20.00000000 0.06697839 27 NA NA -20.00000000 0.06697839 28 NA NA -20.00000000 0.06697839 29 NA NA -20.00000000 0.06697839 30 NA NA -20.00000000 0.06697839 31 NA NA -20.00000000 0.06697839 32 NA NA -20.00000000 0.06697839 33 NA NA -20.00000000 0.06697839 34 NA NA -20.00000000 0.06697839 35 NA NA -20.00000000 0.06697839 36 NA NA -20.00000000 0.06697839 37 NA NA -20.00000000 0.06697839 38 NA NA -20.00000000 0.06697839 39 NA NA -20.00000000 0.06697839 40 NA NA -20.00000000 0.06697839 41 NA NA -20.00000000 0.06697839 42 NA NA -20.00000000 0.06697839 43 NA NA -20.00000000 0.06697839 44 NA NA -20.00000000 0.06697839 45 NA NA -20.00000000 0.06697839 46 NA NA -20.00000000 0.06697839 47 NA NA -20.00000000 0.06697839 48 NA NA -20.00000000 0.06697839 49 NA NA -20.00000000 0.06697839 50 NA NA -20.00000000 0.06697839 51 NA NA -20.00000000 0.06697839 52 NA NA -20.00000000 0.06697839 53 NA NA -20.00000000 0.06697839 54 NA NA -20.00000000 0.06697839 55 NA NA -20.00000000 0.06697839 56 NA NA -20.00000000 0.06697839 57 NA NA -20.00000000 0.06697839 58 NA NA -20.00000000 0.06697839 59 NA NA -20.00000000 0.06697839 60 NA NA -20.00000000 0.06697839 61 NA NA -20.00000000 0.06697839 62 NA NA -20.00000000 0.06697839 63 NA NA -20.00000000 0.06697839 64 NA NA -20.00000000 0.06697839 65 NA NA -20.00000000 0.06697839 66 NA NA -20.00000000 0.06697839 67 NA NA -20.00000000 0.06697839 68 NA NA -20.00000000 0.06697839 69 NA NA -20.00000000 0.06697839 70 NA NA -20.00000000 0.06697839 71 NA NA -20.00000000 0.06697839 72 NA NA -20.00000000 0.06697839 73 NA NA -20.00000000 0.06697839 74 NA NA -20.00000000 0.06697839 75 NA NA -20.00000000 0.06697839 76 NA NA -20.00000000 0.06697839 [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [26] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [51] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [76] NA Warning message: In mice.impute.leftcenslognorm(y = data$x2, ry = !is.na(data$x2), : Something happened with mice.impute.leftcenslognorm, missing values present (set debug=TRUE to see intermediate values) > f3(cdat, 3) [1] 0 [1] 1 [1] 2 [1] 3 nmissing totalN min_imp max_imp 76 100 NA NA integer(0) nms1 nms2 nms3 nms4 "y" "x1" "x2" "z" fub1 fub2 fub3 fub4 fub5 fub6 fub7 fub8 fub9 fub10 fub11 fub12 fub13 NA NA NA NA NA NA NA NA NA NA NA NA NA fub14 fub15 fub16 fub17 fub18 fub19 fub20 fub21 fub22 fub23 fub24 fub25 fub26 NA NA NA NA NA NA NA NA NA NA NA NA NA fub27 fub28 fub29 fub30 fub31 fub32 fub33 fub34 fub35 fub36 fub37 fub38 fub39 NA NA NA NA NA NA NA NA NA NA NA NA NA fub40 fub41 fub42 fub43 fub44 fub45 fub46 fub47 fub48 fub49 fub50 fub51 fub52 NA NA NA NA NA NA NA NA NA NA NA NA NA fub53 fub54 fub55 fub56 fub57 fub58 fub59 fub60 fub61 fub62 fub63 fub64 fub65 NA NA NA NA NA NA NA NA NA NA NA NA NA fub66 fub67 fub68 fub69 fub70 fub71 fub72 fub73 fub74 fub75 fub76 NA NA NA NA NA NA NA NA NA NA NA lod1 lod2 lod3 lod4 NA 0.50 0.75 NA numeric(0) returny u linear.predictors scale 1 NA NA -0.02780392 0.0649437 2 NA NA -0.13972011 0.0649437 3 NA NA -0.03643636 0.0649437 4 NA NA -0.04150898 0.0649437 5 NA NA -0.21593686 0.0649437 6 NA NA -0.09076402 0.0649437 7 NA NA -0.05987152 0.0649437 8 NA NA -0.07025506 0.0649437 9 NA NA -0.09274414 0.0649437 10 NA NA -0.07716465 0.0649437 11 NA NA -0.08525343 0.0649437 12 NA NA -0.08154617 0.0649437 13 NA NA -0.07156040 0.0649437 14 NA NA -0.12461551 0.0649437 15 NA NA -0.15887430 0.0649437 16 NA NA -0.07531989 0.0649437 17 NA NA -0.24175081 0.0649437 18 NA NA -0.03453294 0.0649437 19 NA NA -0.13818860 0.0649437 20 NA NA -20.00000000 0.0649437 21 NA NA -20.00000000 0.0649437 22 NA NA -20.00000000 0.0649437 23 NA NA -20.00000000 0.0649437 24 NA NA -20.00000000 0.0649437 25 NA NA -20.00000000 0.0649437 26 NA NA -20.00000000 0.0649437 27 NA NA -20.00000000 0.0649437 28 NA NA -20.00000000 0.0649437 29 NA NA -20.00000000 0.0649437 30 NA NA -20.00000000 0.0649437 31 NA NA -20.00000000 0.0649437 32 NA NA -20.00000000 0.0649437 33 NA NA -20.00000000 0.0649437 34 NA NA -20.00000000 0.0649437 35 NA NA -20.00000000 0.0649437 36 NA NA -20.00000000 0.0649437 37 NA NA -20.00000000 0.0649437 38 NA NA -20.00000000 0.0649437 39 NA NA -20.00000000 0.0649437 40 NA NA -20.00000000 0.0649437 41 NA NA -20.00000000 0.0649437 42 NA NA -20.00000000 0.0649437 43 NA NA -20.00000000 0.0649437 44 NA NA -20.00000000 0.0649437 45 NA NA -20.00000000 0.0649437 46 NA NA -20.00000000 0.0649437 47 NA NA -20.00000000 0.0649437 48 NA NA -20.00000000 0.0649437 49 NA NA -20.00000000 0.0649437 50 NA NA -20.00000000 0.0649437 51 NA NA -20.00000000 0.0649437 52 NA NA -20.00000000 0.0649437 53 NA NA -20.00000000 0.0649437 54 NA NA -20.00000000 0.0649437 55 NA NA -20.00000000 0.0649437 56 NA NA -20.00000000 0.0649437 57 NA NA -20.00000000 0.0649437 58 NA NA -20.00000000 0.0649437 59 NA NA -20.00000000 0.0649437 60 NA NA -20.00000000 0.0649437 61 NA NA -20.00000000 0.0649437 62 NA NA -20.00000000 0.0649437 63 NA NA -20.00000000 0.0649437 64 NA NA -20.00000000 0.0649437 65 NA NA -20.00000000 0.0649437 66 NA NA -20.00000000 0.0649437 67 NA NA -20.00000000 0.0649437 68 NA NA -20.00000000 0.0649437 69 NA NA -20.00000000 0.0649437 70 NA NA -20.00000000 0.0649437 71 NA NA -20.00000000 0.0649437 72 NA NA -20.00000000 0.0649437 73 NA NA -20.00000000 0.0649437 74 NA NA -20.00000000 0.0649437 75 NA NA -20.00000000 0.0649437 76 NA NA -20.00000000 0.0649437 [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [26] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [51] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [76] NA Warning message: In mice.impute.leftcenslognorm(y = data$x2, ry = !is.na(data$x2), : Something happened with mice.impute.leftcenslognorm, missing values present (set debug=TRUE to see intermediate values) > f4(cdat, 3) [1] 0 [1] 1 [1] 2 [1] 3 [1] 4 nmissing totalN min_imp max_imp 76 100 NA NA integer(0) nms1 nms2 nms3 nms4 "y" "x1" "x2" "z" fub1 fub2 fub3 fub4 fub5 fub6 fub7 fub8 fub9 fub10 fub11 fub12 fub13 NA NA NA NA NA NA NA NA NA NA NA NA NA fub14 fub15 fub16 fub17 fub18 fub19 fub20 fub21 fub22 fub23 fub24 fub25 fub26 NA NA NA NA NA NA NA NA NA NA NA NA NA fub27 fub28 fub29 fub30 fub31 fub32 fub33 fub34 fub35 fub36 fub37 fub38 fub39 NA NA NA NA NA NA NA NA NA NA NA NA NA fub40 fub41 fub42 fub43 fub44 fub45 fub46 fub47 fub48 fub49 fub50 fub51 fub52 NA NA NA NA NA NA NA NA NA NA NA NA NA fub53 fub54 fub55 fub56 fub57 fub58 fub59 fub60 fub61 fub62 fub63 fub64 fub65 NA NA NA NA NA NA NA NA NA NA NA NA NA fub66 fub67 fub68 fub69 fub70 fub71 fub72 fub73 fub74 fub75 fub76 NA NA NA NA NA NA NA NA NA NA NA lod1 lod2 lod3 lod4 NA 0.50 0.75 NA numeric(0) returny u linear.predictors scale 1 NA NA -0.06644469 0.06067294 2 NA NA -0.15466643 0.06067294 3 NA NA -0.12605709 0.06067294 4 NA NA -0.08846206 0.06067294 5 NA NA -0.22672554 0.06067294 6 NA NA -0.14375392 0.06067294 7 NA NA -0.09797794 0.06067294 8 NA NA -0.08886535 0.06067294 9 NA NA -0.14465211 0.06067294 10 NA NA -0.13162129 0.06067294 11 NA NA -0.11460736 0.06067294 12 NA NA -0.08832086 0.06067294 13 NA NA -0.09450047 0.06067294 14 NA NA -0.16538195 0.06067294 15 NA NA -0.18645629 0.06067294 16 NA NA -0.12714174 0.06067294 17 NA NA -0.22388153 0.06067294 18 NA NA -0.08551638 0.06067294 19 NA NA -0.19564400 0.06067294 20 NA NA -20.00000000 0.06067294 21 NA NA -20.00000000 0.06067294 22 NA NA -20.00000000 0.06067294 23 NA NA -20.00000000 0.06067294 24 NA NA -20.00000000 0.06067294 25 NA NA -20.00000000 0.06067294 26 NA NA -20.00000000 0.06067294 27 NA NA -20.00000000 0.06067294 28 NA NA -20.00000000 0.06067294 29 NA NA -20.00000000 0.06067294 30 NA NA -20.00000000 0.06067294 31 NA NA -20.00000000 0.06067294 32 NA NA -20.00000000 0.06067294 33 NA NA -20.00000000 0.06067294 34 NA NA -20.00000000 0.06067294 35 NA NA -20.00000000 0.06067294 36 NA NA -20.00000000 0.06067294 37 NA NA -20.00000000 0.06067294 38 NA NA -20.00000000 0.06067294 39 NA NA -20.00000000 0.06067294 40 NA NA -20.00000000 0.06067294 41 NA NA -20.00000000 0.06067294 42 NA NA -20.00000000 0.06067294 43 NA NA -20.00000000 0.06067294 44 NA NA -20.00000000 0.06067294 45 NA NA -20.00000000 0.06067294 46 NA NA -20.00000000 0.06067294 47 NA NA -20.00000000 0.06067294 48 NA NA -20.00000000 0.06067294 49 NA NA -20.00000000 0.06067294 50 NA NA -20.00000000 0.06067294 51 NA NA -20.00000000 0.06067294 52 NA NA -20.00000000 0.06067294 53 NA NA -20.00000000 0.06067294 54 NA NA -20.00000000 0.06067294 55 NA NA -20.00000000 0.06067294 56 NA NA -20.00000000 0.06067294 57 NA NA -20.00000000 0.06067294 58 NA NA -20.00000000 0.06067294 59 NA NA -20.00000000 0.06067294 60 NA NA -20.00000000 0.06067294 61 NA NA -20.00000000 0.06067294 62 NA NA -20.00000000 0.06067294 63 NA NA -20.00000000 0.06067294 64 NA NA -20.00000000 0.06067294 65 NA NA -20.00000000 0.06067294 66 NA NA -20.00000000 0.06067294 67 NA NA -20.00000000 0.06067294 68 NA NA -20.00000000 0.06067294 69 NA NA -20.00000000 0.06067294 70 NA NA -20.00000000 0.06067294 71 NA NA -20.00000000 0.06067294 72 NA NA -20.00000000 0.06067294 73 NA NA -20.00000000 0.06067294 74 NA NA -20.00000000 0.06067294 75 NA NA -20.00000000 0.06067294 76 NA NA -20.00000000 0.06067294 [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [26] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [51] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [76] NA Warning message: In mice.impute.leftcenslognorm(y = data$x2, ry = !is.na(data$x2), : Something happened with mice.impute.leftcenslognorm, missing values present (set debug=TRUE to see intermediate values) > > > > # library("mice") > # library("survival") > # set.seed(1231) > # impdat = mice(data = mdat, > # method = c("", "leftcenslognorm", "leftcenslognorm", ""), > # lod=c(NA, 0.5, 0.75, NA), debug=FALSE, maxit = 10, m = 5) > # set.seed(1231) > # impdat2 = mice(data = mdat, > # method = c("", "leftcenslognorm", "leftcenslognorm", ""), > # lod=list(rep(NA, N), rep(0.5, N), rep(0.75, N), rep(NA, N)), debug=FALSE, maxit = 10, m = 5) > # qc.fit.imp <- list( > # call = call("qgcomp.noboot(y~., expnms = c('x1', 'x2'), family=gaussian())"), > # call1 = impdat$call, > # nmis = impdat$nmis, > # analyses = lapply(1:5, function(x) qgcomp.noboot(y~., expnms = c("x1", "x2"), > # data=complete(impdat, x), family=gaussian(), bayes=FALSE)) > # ) > # qc.fit.imp2 <- list( > # call = call("qgcomp.noboot(y~., expnms = c('x1', 'x2'), family=gaussian())"), > # call1 = impdat$call, > # nmis = impdat$nmis, > # analyses = lapply(1:5, function(x) qgcomp.noboot(y~., expnms = c("x1", "x2"), > # data=complete(impdat2, x), family=gaussian(), bayes=FALSE)) > # ) > # qc1 = pool(qc.fit.imp) > # qc2 = pool(qc.fit.imp2) > # stopifnot(all.equal(qc1$pooled$estimate, qc2$pooled$estimate)) > # > # > # newlods = data.frame(rep(NA, N), runif(N, 0, .01), runif(N, 0, 10), rep(NA, N)) > # impdat3 = mice(data = mdat, > # method = c("", "leftcenslognorm", "leftcenslognorm", ""), > # lod=newlods, debug=FALSE, maxit = 10, m = 5) > # qc.fit.imp2 <- list( > # call = call("qgcomp.noboot(y~., expnms = c('x1', 'x2'), family=gaussian())"), > # call1 = impdat$call, > # nmis = impdat$nmis, > # analyses = lapply(1:5, function(x) qgcomp.noboot(y~., expnms = c("x1", "x2"), > # data=complete(impdat2, x), family=gaussian(), bayes=FALSE)) > # ) > # xcomp = complete(impdat3, 1) > # stopifnot(all(xcomp[is.na(mdat[,2]),2]< newlods[is.na(mdat[,2]),2])) > # stopifnot(all(xcomp[is.na(mdat[,3]),3] < newlods[is.na(mdat[,3]),3] )) > > > # # note the following example imputes from the wrong parametric model and is expected to be biased > # # as a result > # library("mice") > # library("survival") > # set.seed(1231) > # impdat = mice(data = mdat, > # method = c("", "leftcenslognorm", "leftcenslognorm", ""), > # lod=c(NA, 0.5, 0.75, NA), debug=FALSE, maxit = 10, m = 50) > # qc.fit.imp <- list( > # call = call("qgcomp.noboot(y~., expnms = c('x1', 'x2'), family=gaussian())"), > # call1 = impdat$call, > # nmis = impdat$nmis, > # analyses = lapply(1:50, function(x) qgcomp.noboot(y~., expnms = c("x1", "x2"), > # data=complete(impdat, x), family=gaussian(), bayes=FALSE)) > # ) > # qc.fit.imp2 <- list( > # call = call("qgcomp.noboot(y~., expnms = c('x1', 'x2'), family=gaussian())"), > # call1 = impdat$call, > # nmis = impdat$nmis, > # analyses = lapply(1:50, function(x) lm(y~., data=complete(impdat, x))) > # ) > # > # summary(complete(impdat, 1)) > # obj <- pool(as.mira(qc.fit.imp))# are results at a given seed numerically stable across versions? > # > # > # summary(obj) > # # estimate std.error statistic df p.value > # # (Intercept) 0.67956728 0.09189112 7.395353 64.56892 3.582918e-10 > # # psi1 -0.09551483 0.04876708 -1.958592 49.71615 5.578245e-02 > # > # true > # # Estimate Std. Error Lower CI Upper CI t value > # # (Intercept) 0.582729 0.068033 0.44939 0.716071 1.663e-13 > # # psi1 -0.099867 0.086641 -0.26968 0.069947 0.2519 > # > # cc > # # Estimate Std. Error Lower CI Upper CI t value > # # (Intercept) 0.58390 0.11158 0.36520 0.802600 0.0008 > # # psi1 -0.29313 0.12952 -0.54697 -0.039282 0.0534 > # > # > # obj2 <- pool(as.mira(qc.fit.imp2))# are results at a given seed numerically stable across versions? > # true = lm(y~., data=dat) > # cc = lm(y~., data=cdat) > # > # summary(obj2) > # # estimate std.error statistic df p.value > # # (Intercept) 0.88780523 0.21350133 4.1583123 52.88431 0.0001180606 > # # x1 -0.19722820 0.14363657 -1.3731057 77.01935 0.1737039541 > # # x2 -0.35849252 0.24710409 -1.4507754 47.94448 0.1533539928 > # # z -0.08929342 0.09794892 -0.9116325 91.46288 0.3643587309 > # > # > # summary(true) > # # Estimate Std. Error t value Pr(>|t|) > # # (Intercept) 0.62516 0.09538 6.554 2.79e-09 *** > # # x1 -0.10569 0.10982 -0.962 0.338 > # # x2 -0.07144 0.09854 -0.725 0.470 > # # z -0.07624 0.09822 -0.776 0.440 > # > # summary(cc) > # # Estimate Std. Error t value Pr(>|t|) > # # (Intercept) -0.4987 0.9012 -0.553 0.586 > # # x1 -0.1079 0.3138 -0.344 0.734 > # # x2 1.1194 0.8712 1.285 0.214 > # # z -0.0159 0.1771 -0.090 0.929 > # > > proc.time() user system elapsed 2.50 0.25 2.73