Dear alltogether, I tried pan() to impute NAs for longitudinal data. The terminology in the following output follows the pan manpage. No data are attached to this script as this may be too huge.
y = 15 responses pred = at first just intercept was tried (later on covariates should follow) subj = 168 different subjects with 4 to 6 observations for each subject at time points t1, t2, ..., t6 # extract of y > y[1:4,] anpr impr kepr lernpr lstofpr nachwela nachfak nachw sbpr widapr zdompr zerfpr zgleipr zstimpr zugrupr 2 3.50 2.75 3.4 2.222222 2.666667 3.333333 15.000000 5.909091 2.333333 2 1.5 3.666667 4 3.000000 3.555556 202 2.25 2.50 3.6 2.222222 3.666667 12.000000 13.750000 7.777778 1.666667 2 2.0 3.333333 4 3.333333 3.555556 402 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 602 1.75 2.75 3.4 1.555556 3.333333 2.666667 6.666667 5.000000 2.000000 2 1.0 3.333333 4 2.666667 3.333333 > dim(y) [1] 940 15 # matrix y with 15 responses and 940 obs # y is ordered according to subj > length(subj) [1] 940 #940 obs of 168 different subjects (persons) # extract of subj > subj[1:30] [1] 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 7 7 # how many observations for each subject > table(subj) subj 2 3 4 5 6 7 8 9 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 46 47 48 49 6 5 5 6 6 6 5 6 6 6 6 6 5 6 6 5 6 6 6 6 5 6 6 5 6 6 4 6 5 5 6 6 6 5 6 6 4 6 5 6 5 6 6 50 52 53 55 57 58 59 60 61 62 64 66 67 68 69 70 72 73 75 76 77 78 79 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 6 5 5 5 6 6 5 5 6 6 6 6 4 6 6 5 5 6 6 5 6 4 6 5 5 4 6 5 6 6 4 5 5 6 6 6 6 6 6 6 6 6 6 103 104 105 106 107 108 109 110 112 113 114 115 116 117 118 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 137 138 139 140 141 142 144 146 147 148 149 150 151 5 6 5 6 6 6 5 5 5 6 6 5 5 6 5 6 6 6 6 6 5 4 6 6 6 6 6 4 4 6 5 4 6 5 4 6 6 6 6 6 6 5 5 152 153 154 155 156 157 158 159 160 162 164 165 166 167 170 171 173 174 175 176 178 179 181 182 185 186 187 188 189 190 191 192 193 195 196 197 198 199 200 5 6 6 6 5 6 6 6 6 6 6 6 6 4 5 6 6 6 6 5 6 6 6 6 6 6 6 5 6 6 6 5 6 6 6 6 6 6 6 > pred <- cbind(interc=rep(1,dim(y)[1])) # just intercept (at first) > dim(pred) [1] 940 1 xcol <- 1:dim(pred)[2] > xcol [1] 1 #xcol = 1 , using all number of cols of pred[] > zcol <- c(1) # = 1 , number of cols to use > y.ncol <- dim(y)[2] > n.zcol <- length(zcol) > prior <- list(a=y.ncol, + Binv=diag(y.ncol), + c=n.zcol, + Dinv=diag(n.zcol)) > prior $a [1] 15 $Binv [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [1,] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [2,] 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 [3,] 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 [4,] 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 [5,] 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 [6,] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 [7,] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 [8,] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 [9,] 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 [10,] 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 [11,] 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 [12,] 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 [13,] 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 [14,] 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 [15,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 $c [1] 1 $Dinv [,1] [1,] 1 #prior a = number of cols in y # Binv = identity matrix (ncols = nrows = y) # c = length of zcol[] # Dinv = identity matrix (ncols = length(nzcol)) Now the error message: > pan(y, subj, pred, xcol, zcol, prior, seed=1234,iter=1000) Fehler: Indizierung außerhalb der Grenzen" # error massage = subscript out of bounds I do not understand that. Thank you very much for every suggestion. best, leo ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html