nparLD provides nonparametric methods for the analysis of longitudinal
and repeated-measures data in factorial experiments. The package
implements procedures for hypotheses in marginal distribution functions
and in unweighted relative marginal effects. It supports crossed
factorial designs, missing observations, dependent replicate
measurements, rank- and pseudo-rank-based inference, Wald-type and
ANOVA-type statistics, multiple contrast procedures, and simultaneous
confidence intervals.
You can install the development version locally with:
devtools::install()
library(nparLD)
set.seed(123)
T <- 4
n <- c(10, 10, 10)
N <- sum(T * n)
y <- rnorm(N)
times <- c(rep(1:T, n[1]), rep(1:T, n[2]), rep(1:T, n[3]))
grp <- c(rep(1, n[1] * T), rep(2, n[2] * T), rep(3, n[3] * T))
subjects <- c(
sort(rep(1:n[1], T)),
sort(rep((n[1] + 1):(n[1] + n[2]), T)),
sort(rep((n[1] + n[2] + 1):(n[1] + n[2] + n[3]), T))
)
data <- data.frame(times, grp, subjects, y)
fit <- nparLD(
y ~ grp * times,
data = data,
subject = "subjects",
hypothesis = "H0p",
contrast = list("grp:times")
)
fit
plot(fit)
plot(fit$MCTP)
The package distinguishes between weighted and unweighted relative marginal effects.
Weighted effects are based on the sample-size weighted reference distribution. They describe relative positions with respect to the empirical distribution obtained by pooling the marginal samples according to their observed sample sizes. Weighted effects are useful as descriptive summaries and correspond to ordinary rank-based estimators.
Unweighted effects are based on an equally weighted reference
distribution over the factorial cells. Each cell contributes equally to
the reference distribution, independently of its sample size. These
effects are the inferential target for hypotheses in relative marginal
effects, selected by hypothesis = "H0p", and are estimated using
pseudo-ranks.
Consequently, tests of hypotheses in relative marginal effects are
performed for unweighted effects. Weighted effects are reported
descriptively, but they are not used as the target of H0p tests
because their interpretation depends on the sample-size allocation
across cells.
````markdown The following example illustrates how the two effect concepts are requested.
data(panic2)
fit_weighted <- nparLD(
resp ~ group * time,
data = panic2,
subject = "subject",
effect = "weighted",
hypothesis = "H0F"
)
fit_unweighted <- nparLD(
resp ~ group * time,
data = panic2,
subject = "subject",
effect = "unweighted",
hypothesis = "H0F"
)
fit_weighted
fit_unweighted
The first analysis reports weighted effects as descriptive summaries
together with tests in marginal distribution functions. The second
analysis targets unweighted relative marginal effects and therefore
provides the appropriate effect scale for H0p.
Use hypothesis = "H0F" to test hypotheses in marginal distribution
functions. These tests compare marginal distribution functions either
using classical ranks with the argument effect="weighted" or using
pseudo-ranks using the argument effect = "unweighted".
Use hypothesis = "H0p" to test hypotheses in unweighted relative
marginal effects. These effects describe the relative position of each
marginal distribution with respect to a common unweighted reference
distribution and are useful for interpretation, contrasts, simultaneous
confidence intervals, and plots.
Dependent replicate measurements can be specified with the replicate
argument.
datensatz2 <- datensatz[rep(seq_len(nrow(datensatz)), each = 3), ]
datensatz2$rep <- rep(1:3, times = nrow(datensatz))
datensatz2$y <- rnorm(nrow(datensatz2))
fit_rep <- nparLD(
y ~ grp * times,
data = datensatz2,
subject = "subjekte",
replicate = "rep",
hypothesis = "H0p",
cell.weights = "subjects"
)
fit_rep
For relative marginal effects, cell.weights = "subjects" targets a
typical subject-condition cell, while cell.weights = "observations"
targets a typical replicate observation.
Earlier versions of nparLD used design-specific functions such as
ld.f1(), f1.ld.f1(), or f2.ld.f1(). In the redesigned package,
these designs are specified through one general formula interface.
Typical examples are:
| Classical design | Formula in the redesigned interface | Example |
|----|----|----|
| LD-F1 | resp ~ time | one repeated-measures factor |
| F1-LD-F1 | resp ~ group * time | one whole-plot and one repeated-measures factor |
| LD-F2 | resp ~ time1 * time2 | two repeated-measures factors |
| F1-LD-F2 | resp ~ group * time1 * time2 | one whole-plot and two repeated-measures factors |
| F2-LD-F1 | resp ~ group1 * group2 * time | two whole-plot and one repeated-measures factor |
For example, the shoulder data correspond to an F2-LD-F1 design:
data(shoulder)
fit <- nparLD(
resp ~ group1 * group2 * time,
data = shoulder,
subject = "subject",
hypothesis = "H0p",
contrast = list("group1:time")
)
fit
plot(fit)
plot(fit$MCTP)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.