require(robustlmm)
asymptoticVariance_generic <- robustlmm:::asymptoticVariance_generic
asymptoticVariance_classic <- robustlmm:::asymptoticVariance_classic
asymptoticVariance_huber_proposal2 <- robustlmm:::asymptoticVariance_huber_proposal2
partialMoment_standardNormal <-
robustlmm:::partialMoment_standardNormal
## check classic implementation
for (equation in c("location", "scale", "eta", "tau", "mu")) {
dimension <- if (equation %in% c("location", "scale"))
1
else
2
stopifnot(all.equal(
asymptoticVariance_classic(equation, dimension),
asymptoticVariance_generic(cPsi, equation, dimension)
))
}
## check partial moment function
integrate_partialMoment <- function(z, n) {
int <- integrate(function(x)
x ^ n * dnorm(x),-Inf, z)
return(int$value)
}
stopifnot(
all.equal(
partialMoment_standardNormal(2, 2),
integrate_partialMoment(2, 2)
),
all.equal(
partialMoment_standardNormal(2, 3),
integrate_partialMoment(2, 3)
),
all.equal(
partialMoment_standardNormal(2, 4),
integrate_partialMoment(2, 4)
),
all.equal(
partialMoment_standardNormal(-2, 2),
integrate_partialMoment(-2, 2)
),
all.equal(
partialMoment_standardNormal(-2, 3),
integrate_partialMoment(-2, 3)
),
all.equal(
partialMoment_standardNormal(-2, 4),
integrate_partialMoment(-2, 4)
)
)
## check Huber Proposal 2 implementation
huberPsiRcppProp2 <- psi2propII(huberPsiRcpp)
for (equation in c("location", "scale", "eta", "tau", "mu")) {
dimension <- if (equation %in% c("location", "scale"))
1
else
2
stopifnot(all.equal(
asymptoticVariance_huber_proposal2(huberPsiRcppProp2, equation, dimension),
asymptoticVariance_generic(huberPsiRcppProp2, equation, dimension),
tolerance = 1e-3
))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.