Fract.Poly {CorrMixed} R Documentation

## Fit fractional polynomials

### Description

Fits regression models with m terms of the form X^{p}, where the exponents p are selected from a small predefined set S of both integer and non-integer values.

### Usage

```Fract.Poly(Covariate, Outcome, S=c(-2,-1,-0.5,0,0.5,1,2,3), Max.M=5, Dataset)
```

### Arguments

 `Covariate` The covariate to be considered in the models. `Outcome` The outcome to be considered in the models. `S` The set S from which each power p^{m} is selected. Default `S={-2, -1, -0.5, 0, 0.5, 1, 2, 3}`. `Max.M` The maximum order M to be considered for the fractional polynomial. This value can be 5 at most. When M=5, then fractional polynomials of order 1 to 5 are considered. Default `Max.M=5`. `Dataset` A `data.frame` that should consist of multiple lines per subject ('long' format).

### Value

 `Results.M1` The results (powers and AIC values) of the fractional polynomials of order 1. `Results.M2` The results (powers and AIC values) of the fractional polynomials of order 2. `Results.M3` The results (powers and AIC values) of the fractional polynomials of order 3. `Results.M4` The results (powers and AIC values) of the fractional polynomials of order 4. `Results.M5` The results (powers and AIC values) of the fractional polynomials of order 5.

### Author(s)

Wim Van der Elst, Geert Molenberghs, Ralf-Dieter Hilgers, & Nicole Heussen

### References

Van der Elst, W., Molenberghs, G., Hilgers, R., & Heussen, N. (2015). Estimating the reliability of repeatedly measured endpoints based on linear mixed-effects models. A tutorial. Submitted.

### Examples

```# Open data
data(Example.Data)

# Fit fractional polynomials, mox. order = 3
FP <- Fract.Poly(Covariate = Time, Outcome = Outcome,
Dataset = Example.Data, Max.M=3)

# Explore results
summary(FP)
# best fitting model (based on AIC) for m=3,
# powers:  p_{1}=3,  p_{2}=3, and  p_{3}=2

# Fit model and compare with observed means

# plot of mean
Spaghetti.Plot(Dataset = Example.Data, Outcome = Outcome,
Time = Time, Id=Id, Add.Profiles = FALSE, Lwd.Me=1,
ylab="Mean Outcome")

# Coding of predictors (note that when p_{1}=p_{2},
# beta_{1}*X ** {p_{1}} + beta_{2}*X ** {p_{1}} * log(X)
#  and when p=0, X ** {0}= log(X)    )
term1 <- Example.Data\$Time**3
term2 <- (Example.Data\$Time**3) * log(Example.Data\$Time)
term3 <- Example.Data\$Time**2

# fit model
Model <- lm(Outcome~term1+term2+term3, data=Example.Data)
Model\$coef # regression weights (beta's)

# make prediction for time 1 to 47
term1 <- (1:47)**3
term2 <- ((1:47)**3) * log(1:47)
term3 <- (1:47)**2
# compute predicted values
pred <- Model\$coef + (Model\$coef * term1) +
(Model\$coef * term2) + (Model\$coef * term3)
# Add predicted values to plot
lines(x = 1:47, y=pred,  lty=2)
legend("topright", c("Observed", "Predicted"), lty=c(1, 2))
```

[Package CorrMixed version 1.0 Index]