@@ -942,78 +942,79 @@ setMethod("fetchResults",
942942 function (object , nameObject , filename , iterations ,
943943 nIteration , lengthIter ,
944944 impute = FALSE ) {
945- data <- object @ data
946- if (impute ) {
947- offsets.alpha <- object @ offsetsAlphaLN2
948- offsets.varsigma <- object @ offsetsVarsigmaLN2
949- offsets.comp <- object @ offsetsComponent
950- transform.alpha <- object @ transformLN2
951- transform.comp <- object @ transformComponent
952- struc.zero.array <- object @ strucZeroArray
953- update.varsigma <- object @ updateVarsigmaLN2 @ .Data
954- if (is.null(iterations ))
955- iterations <- seq_len(nIteration )
956- metadata <- data @ metadata
957- n.data <- prod(dim(metadata ))
958- metadata <- dembase :: addIterationsToMetadata(metadata ,
959- iterations = iterations )
960- n.iter <- length(iterations )
961- transform.alpha <- addIterationsToTransform(transform.alpha ,
962- nIter = n.iter )
963- transform.comp <- addIterationsToTransform(transform.comp ,
964- nIter = n.iter )
965- transform.alpha <- methods :: new(" ExtendTransform" ,
966- indices = transform.alpha @ indices ,
967- dims = transform.alpha @ dims ,
968- dimBefore = transform.alpha @ dimAfter ,
969- dimAfter = transform.alpha @ dimBefore )
970- .Data <- array (data @ .Data ,
971- dim = dim(metadata ),
972- dimnames = dimnames(metadata ))
973- alpha <- getDataFromFile(filename = filename ,
974- first = offsets.alpha [1L ],
975- last = offsets.alpha [2L ],
976- lengthIter = lengthIter ,
977- iterations = iterations )
978- if (update.varsigma )
979- varsigma <- getDataFromFile(filename = filename ,
980- first = offsets.varsigma [1L ],
981- last = offsets.varsigma [2L ],
945+ data <- object @ data
946+ if (impute ) {
947+ add1 <- object @ add1 @ .Data
948+ offsets.alpha <- object @ offsetsAlphaLN2
949+ offsets.varsigma <- object @ offsetsVarsigmaLN2
950+ offsets.comp <- object @ offsetsComponent
951+ transform.alpha <- object @ transformLN2
952+ transform.comp <- object @ transformComponent
953+ struc.zero.array <- object @ strucZeroArray
954+ update.varsigma <- object @ updateVarsigmaLN2 @ .Data
955+ if (is.null(iterations ))
956+ iterations <- seq_len(nIteration )
957+ metadata <- data @ metadata
958+ n.data <- prod(dim(metadata ))
959+ metadata <- dembase :: addIterationsToMetadata(metadata ,
960+ iterations = iterations )
961+ n.iter <- length(iterations )
962+ transform.alpha <- addIterationsToTransform(transform.alpha ,
963+ nIter = n.iter )
964+ transform.comp <- addIterationsToTransform(transform.comp ,
965+ nIter = n.iter )
966+ transform.alpha <- methods :: new(" ExtendTransform" ,
967+ indices = transform.alpha @ indices ,
968+ dims = transform.alpha @ dims ,
969+ dimBefore = transform.alpha @ dimAfter ,
970+ dimAfter = transform.alpha @ dimBefore )
971+ .Data <- array (data @ .Data ,
972+ dim = dim(metadata ),
973+ dimnames = dimnames(metadata ))
974+ alpha <- getDataFromFile(filename = filename ,
975+ first = offsets.alpha [1L ],
976+ last = offsets.alpha [2L ],
977+ lengthIter = lengthIter ,
978+ iterations = iterations )
979+ if (update.varsigma )
980+ varsigma <- getDataFromFile(filename = filename ,
981+ first = offsets.varsigma [1L ],
982+ last = offsets.varsigma [2L ],
983+ lengthIter = lengthIter ,
984+ iterations = iterations )
985+ else
986+ varsigma <- rep(object @ varsigma @ .Data ,
987+ times = n.iter )
988+ exposure <- getDataFromFile(filename = filename ,
989+ first = offsets.comp [1L ],
990+ last = offsets.comp [2L ],
982991 lengthIter = lengthIter ,
983992 iterations = iterations )
993+ alpha <- array (alpha ,
994+ dim = transform.alpha @ dimBefore )
995+ varsigma <- rep(varsigma , each = n.data )
996+ exposure <- array (exposure ,
997+ dim = transform.comp @ dimBefore )
998+ alpha <- dembase :: extend(alpha ,
999+ transform = transform.alpha )
1000+ exposure <- dembase :: collapse(exposure ,
1001+ transform = transform.comp )
1002+ is.struc.zero <- struc.zero.array @ .Data == 0L
1003+ is.struc.zero <- array (is.struc.zero ,
1004+ dim = dim(.Data ))
1005+ is.missing <- is.na(.Data )
1006+ n.impute <- sum(is.missing )
1007+ mean <- log(exposure [is.missing ] + add1 ) + alpha [is.missing ]
1008+ sd <- varsigma [is.missing ]
1009+ imputed <- exp(stats :: rnorm(n = n.impute , mean = mean , sd = sd )) - add1
1010+ .Data [is.missing ] <- imputed
1011+ .Data [is.struc.zero ] <- 0L
1012+ methods :: new(" Counts" ,
1013+ .Data = .Data ,
1014+ metadata = metadata )
1015+ }
9841016 else
985- varsigma <- rep(object @ varsigma @ .Data ,
986- times = n.iter )
987- exposure <- getDataFromFile(filename = filename ,
988- first = offsets.comp [1L ],
989- last = offsets.comp [2L ],
990- lengthIter = lengthIter ,
991- iterations = iterations )
992- alpha <- array (alpha ,
993- dim = transform.alpha @ dimBefore )
994- varsigma <- rep(varsigma , each = n.data )
995- exposure <- array (exposure ,
996- dim = transform.comp @ dimBefore )
997- alpha <- dembase :: extend(alpha ,
998- transform = transform.alpha )
999- exposure <- dembase :: collapse(exposure ,
1000- transform = transform.comp )
1001- is.struc.zero <- struc.zero.array @ .Data == 0L
1002- is.struc.zero <- array (is.struc.zero ,
1003- dim = dim(.Data ))
1004- is.missing <- is.na(.Data )
1005- n.impute <- sum(is.missing )
1006- mean <- log(exposure [is.missing ] + 1 ) + alpha [is.missing ]
1007- sd <- varsigma [is.missing ]
1008- imputed <- exp(stats :: rnorm(n = n.impute , mean = mean , sd = sd )) - 1
1009- .Data [is.missing ] <- imputed
1010- .Data [is.struc.zero ] <- 0L
1011- methods :: new(" Counts" ,
1012- .Data = .Data ,
1013- metadata = metadata )
1014- }
1015- else
1016- data
1017+ data
10171018 })
10181019
10191020
0 commit comments