The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Last updated on 2026-08-11 17:49:25 CEST.
| Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
|---|---|---|---|---|---|---|
| r-devel-linux-x86_64-debian-clang | ERROR | |||||
| r-devel-linux-x86_64-debian-gcc | 1.4-4 | 7.80 | 965.76 | 973.56 | ERROR | |
| r-devel-linux-x86_64-fedora-clang | 1.4-4 | 887.05 | ERROR | |||
| r-devel-linux-x86_64-fedora-gcc | 1.4-4 | 984.56 | ERROR | |||
| r-devel-windows-x86_64 | 1.4-4 | 16.00 | 433.00 | 449.00 | OK | --no-vignettes |
| r-patched-linux-x86_64 | 1.4-4 | 11.88 | 1400.89 | 1412.77 | ERROR | |
| r-release-linux-x86_64 | 1.4-4 | 9.91 | 1406.28 | 1416.19 | ERROR | |
| r-release-macos-arm64 | 1.4-4 | 3.00 | 360.00 | 363.00 | OK | |
| r-release-macos-x86_64 | 1.4-4 | 8.00 | 1703.00 | 1711.00 | OK | |
| r-release-windows-x86_64 | 1.4-4 | 14.00 | 426.00 | 440.00 | OK | --no-vignettes |
| r-oldrel-macos-arm64 | 1.4-4 | 3.00 | 346.00 | 349.00 | OK | |
| r-oldrel-macos-x86_64 | 1.4-4 | 8.00 | 1622.00 | 1630.00 | OK | |
| r-oldrel-windows-x86_64 | 1.4-4 | 20.00 | 738.00 | 758.00 | OK |
Version: 1.4-4
Check: examples
Result: ERROR
Running examples in ‘tram-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: tram-methods
> ### Title: Methods for Stratified Linear Transformation Models
> ### Aliases: as.mlt.tram model.frame.tram model.matrix.tram
> ### model.matrix.stram coef.tram coef.Lm coef.Survreg vcov.tram
> ### logLik.tram estfun.tram predict.tram predict.stram residuals.tram
> ### plot.tram plot.ROCtram PI PI.tram PI.default OVL OVL.tram OVL.default
> ### TV TV.tram TV.default L1 L1.tram L1.default ROC ROC.tram ROC.default
>
> ### ** Examples
>
>
> data("BostonHousing2", package = "mlbench")
>
> ### fit non-normal Box-Cox type linear model with two
> ### baseline functions (for houses near and off Charles River)
> BC_BH_2 <- BoxCox(cmedv | 0 + chas ~ crim + zn + indus + nox +
+ rm + age + dis + rad + tax + ptratio + b + lstat,
+ data = BostonHousing2)
> logLik(BC_BH_2)
'log Lik.' -1334.509 (df=26)
>
> ### classical likelihood inference
> summary(BC_BH_2)
(Stratified) Non-normal (Box-Cox-Type) Linear Regression Model
Call:
BoxCox(formula = cmedv | 0 + chas ~ crim + zn + indus + nox +
rm + age + dis + rad + tax + ptratio + b + lstat, data = BostonHousing2)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
crim -0.0467906 0.0074130 -6.312 2.76e-10 ***
zn 0.0061513 0.0029332 2.097 0.036 *
indus 0.0140681 0.0131135 1.073 0.283
nox -4.9487919 0.8464110 -5.847 5.01e-09 ***
rm 0.4368418 0.0948225 4.607 4.09e-06 ***
age -0.0016568 0.0028368 -0.584 0.559
dis -0.2991249 0.0437646 -6.835 8.21e-12 ***
rad 0.0811888 0.0142694 5.690 1.27e-08 ***
tax -0.0037180 0.0008041 -4.624 3.76e-06 ***
ptratio -0.2184113 0.0285718 -7.644 2.11e-14 ***
b 0.0026673 0.0005776 4.618 3.87e-06 ***
lstat -0.1669453 0.0123199 -13.551 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log-Likelihood:
-1334.509 (df = 26)
Likelihood-ratio Test: Chisq = 817.2314 on 12 degrees of freedom; p = < 2.2e-16
>
> ### coefficients of the linear predictor
> coef(BC_BH_2)
crim zn indus nox rm age
-0.046790563 0.006151332 0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio b lstat
-0.299124862 0.081188783 -0.003717984 -0.218411314 0.002667338 -0.166945349
>
> ### plot linear predictor (mean of _transformed_ response)
> ### vs. observed values
> plot(predict(BC_BH_2, type = "lp"), BostonHousing2$cmedv)
>
> ### all coefficients
> coef(BC_BH_2, with_baseline = TRUE)
Bs1(cmedv):chas0 Bs2(cmedv):chas0 Bs3(cmedv):chas0 Bs4(cmedv):chas0
-13.299892745 -11.572055177 -11.572055179 -4.413500468
Bs5(cmedv):chas0 Bs6(cmedv):chas0 Bs7(cmedv):chas0 Bs1(cmedv):chas1
-2.922815888 -2.922815896 -2.176114273 -17.466541536
Bs2(cmedv):chas1 Bs3(cmedv):chas1 Bs4(cmedv):chas1 Bs5(cmedv):chas1
-17.466541536 -8.197577847 -4.375130082 -4.375130049
Bs6(cmedv):chas1 Bs7(cmedv):chas1 crim zn
-4.375130134 -3.375504890 -0.046790563 0.006151332
indus nox rm age
0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio
-0.299124862 0.081188783 -0.003717984 -0.218411314
b lstat
0.002667338 -0.166945349
>
> ### compute predicted median along with 10% and 90% quantile for the first
> ### observations
> predict(BC_BH_2, newdata = BostonHousing2[1:3,], type = "quantile",
+ prob = c(.1, .5, .9))
prob [,1] [,2] [,3]
0.1 22.77239 19.83903 23.39704
0.5 27.98349 23.65863 29.08549
0.9 38.50440 29.55907 41.48202
>
> ### plot the predicted density for these observations
> plot(BC_BH_2, newdata = BostonHousing2[1:3, -1],
+ which = "distribution", type = "density", K = 1000)
>
> ### evaluate the two baseline transformations, with confidence intervals
> nd <- model.frame(BC_BH_2)[1:2, -1]
> nd$chas <- factor(c("0", "1"))
> library("colorspace")
> col <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90))
> fill <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90), alpha = .3)
> plot(BC_BH_2, which = "baseline only", newdata = nd, col = col,
+ confidence = "interval", fill = fill, lwd = 2,
+ xlab = "Median Value", ylab = expression(h[Y]))
> legend("bottomright", lty = 1, col = col,
+ title = "Near Charles River", legend = c("no", "yes"), bty = "n")
>
> ### cars data; with quantile functions
> plot(dist ~ speed, data = cars)
> m <- Colr(dist ~ speed, data = cars)
> q <- predict(as.mlt(m), newdata = data.frame(speed = s <- 7:20),
+ type = "quantile", prob = c(1, 5, 9) / 10)
> lines(s, q[1,])
> lines(s, q[2,])
> lines(s, q[3,])
>
> nd <- data.frame(speed = s <- as.double(1:5 * 5))
>
> # Prob(dist at speed s > dist at speed 0)
> # speed 0 is reference, not a good choice here
> PI(m, newdata = nd)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.8593495 0.978335 0.9975546 0.9997618 0.9999786
>
> # Prob(dist at speed s > dist at speed 15)
> lp15 <- c(predict(m, newdata = data.frame(speed = 15)))
> PI(m, newdata = nd, reference = lp15)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
> PI(m, newdata = nd, reference = nd[3,,drop = FALSE])
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
>
> # Prob(dist at speed s' > dist at speed s)
> PI(m, newdata = nd, reference = nd)
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # essentially:
> lp <- predict(m, newdata = nd)
> PI(object = dist(lp))
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # same, with simultaneous confidence intervals
> PI(m, newdata = nd, reference = nd, conf.level = .95)
Estimate lwr upr
1-2 0.8593495 0.7811056 0.9141291
1-3 0.9783350 0.9324841 0.9937147
2-3 0.8593495 0.7811056 0.9141291
1-4 0.9975546 0.9835574 0.9996740
2-4 0.9783350 0.9324841 0.9937147
3-4 0.8593495 0.7811056 0.9141291
1-5 0.9997618 0.9965137 0.9999854
2-5 0.9975546 0.9835574 0.9996740
3-5 0.9783350 0.9324841 0.9937147
4-5 0.8593495 0.7811056 0.9141291
attr(,"conf.level")
[1] 0.95
attr(,"calpha")
[1] 1.960362
>
> # plot ROC curves + confidence bands
> # compare speed 20 and 25 to speed 15
> plot(ROC(m, newdata = nd[4:5,,drop = FALSE],
+ reference = nd[3,,drop = FALSE],
+ conf.level = 0.95))
>
> # Overlap of conditional densities at speed s' and s
> OVL(m, newdata = nd, reference = nd)
1 2 3 4
2 0.419779466
3 0.131832586 0.419779466
4 0.036802262 0.131832586 0.419779466
5 0.009910296 0.036802262 0.131832586 0.419779466
>
> ### ROC analysis (takes too long for CRAN Windows)
> if (require("mlbench") && .Platform$OS.type != "windows") {
+
+ layout(matrix(1:4, nrow = 2))
+ data("PimaIndiansDiabetes2", package = "mlbench")
+ dia <- sort(unique(PimaIndiansDiabetes2$diabetes))
+ nd <- data.frame(diabetes = dia,
+ age = 29, mass = 32) ### median values
+
+ ### unconditional ROC analysis: glucose tolerance test
+ m0 <- Colr(glucose ~ diabetes, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band
+ plot(ROC(m0, newdata = nd[2,,drop = FALSE], conf.level = .95))
+ # Wald interval for AUC
+ PI(m0, newdata = nd[2,,drop = FALSE], conf.level = .95)
+ # score interval for AUC
+ PI(-c(coef(m0), score_test(m0)$conf.int[2:1]))
+
+ ### adjusted ROC analysis for age and mass
+ m1 <- Colr(glucose ~ diabetes + age + mass, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band (this is the same for all ages /
+ # masses)
+ plot(ROC(m1, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # Wald interval for adjusted AUC
+ PI(m1, newdata = nd[2,,drop = FALSE], reference = nd[1,,drop = FALSE],
+ conf.level = .95)
+ # Score interval for adjusted AUC
+ PI(-c(coef(m1)[1], score_test(m1, names(coef(m1))[1])$conf.int[2:1]))
+
+ ### conditional ROC analysis: AUC regression ~ age + mass
+ m2 <- Colr(glucose ~ diabetes * (age + mass), data = PimaIndiansDiabetes2)
+ # ROC curve for a person with age = 29 and mass = 32
+ plot(ROC(m2, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # AUC for persons ages 21:81, all with mass = 32
+ nd1 <- data.frame(diabetes = nd[1,"diabetes"], age = 21:81, mass = 32)
+ nd2 <- data.frame(diabetes = nd[2,"diabetes"], age = 21:81, mass = 32)
+ auc <- PI(m2, newdata = nd2, reference = nd1, one2one = TRUE,
+ conf.level = 0.95)
+ plot(nd1$age, auc[, "Estimate"], xlab = "Age (in years)", ylab =
+ "AUC", ylim = c(0, 1), type = "l")
+ lines(nd1$age, auc[, "lwr"], lty = 3)
+ lines(nd1$age, auc[, "upr"], lty = 3)
+ }
Loading required package: mlbench
Warning in data("PimaIndiansDiabetes2", package = "mlbench") :
data set ‘PimaIndiansDiabetes2’ not found
Error: object 'PimaIndiansDiabetes2' not found
Execution halted
Examples with CPU (user + system) or elapsed time > 5s
user system elapsed
mmlt 7.512 0.046 8.643
score_test 6.470 0.054 7.269
perm_test 6.340 0.053 8.302
Coxph 6.063 0.181 7.786
Flavor: r-devel-linux-x86_64-debian-clang
Version: 1.4-4
Check: examples
Result: ERROR
Running examples in ‘tram-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: tram-methods
> ### Title: Methods for Stratified Linear Transformation Models
> ### Aliases: as.mlt.tram model.frame.tram model.matrix.tram
> ### model.matrix.stram coef.tram coef.Lm coef.Survreg vcov.tram
> ### logLik.tram estfun.tram predict.tram predict.stram residuals.tram
> ### plot.tram plot.ROCtram PI PI.tram PI.default OVL OVL.tram OVL.default
> ### TV TV.tram TV.default L1 L1.tram L1.default ROC ROC.tram ROC.default
>
> ### ** Examples
>
>
> data("BostonHousing2", package = "mlbench")
>
> ### fit non-normal Box-Cox type linear model with two
> ### baseline functions (for houses near and off Charles River)
> BC_BH_2 <- BoxCox(cmedv | 0 + chas ~ crim + zn + indus + nox +
+ rm + age + dis + rad + tax + ptratio + b + lstat,
+ data = BostonHousing2)
> logLik(BC_BH_2)
'log Lik.' -1334.509 (df=26)
>
> ### classical likelihood inference
> summary(BC_BH_2)
(Stratified) Non-normal (Box-Cox-Type) Linear Regression Model
Call:
BoxCox(formula = cmedv | 0 + chas ~ crim + zn + indus + nox +
rm + age + dis + rad + tax + ptratio + b + lstat, data = BostonHousing2)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
crim -0.0467906 0.0074130 -6.312 2.76e-10 ***
zn 0.0061513 0.0029332 2.097 0.036 *
indus 0.0140681 0.0131135 1.073 0.283
nox -4.9487919 0.8464110 -5.847 5.01e-09 ***
rm 0.4368418 0.0948225 4.607 4.09e-06 ***
age -0.0016568 0.0028368 -0.584 0.559
dis -0.2991249 0.0437646 -6.835 8.21e-12 ***
rad 0.0811888 0.0142694 5.690 1.27e-08 ***
tax -0.0037180 0.0008041 -4.624 3.76e-06 ***
ptratio -0.2184113 0.0285718 -7.644 2.11e-14 ***
b 0.0026673 0.0005776 4.618 3.87e-06 ***
lstat -0.1669453 0.0123199 -13.551 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log-Likelihood:
-1334.509 (df = 26)
Likelihood-ratio Test: Chisq = 817.2314 on 12 degrees of freedom; p = < 2.2e-16
>
> ### coefficients of the linear predictor
> coef(BC_BH_2)
crim zn indus nox rm age
-0.046790563 0.006151332 0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio b lstat
-0.299124862 0.081188783 -0.003717984 -0.218411314 0.002667338 -0.166945349
>
> ### plot linear predictor (mean of _transformed_ response)
> ### vs. observed values
> plot(predict(BC_BH_2, type = "lp"), BostonHousing2$cmedv)
>
> ### all coefficients
> coef(BC_BH_2, with_baseline = TRUE)
Bs1(cmedv):chas0 Bs2(cmedv):chas0 Bs3(cmedv):chas0 Bs4(cmedv):chas0
-13.299892745 -11.572055177 -11.572055179 -4.413500468
Bs5(cmedv):chas0 Bs6(cmedv):chas0 Bs7(cmedv):chas0 Bs1(cmedv):chas1
-2.922815888 -2.922815896 -2.176114273 -17.466541536
Bs2(cmedv):chas1 Bs3(cmedv):chas1 Bs4(cmedv):chas1 Bs5(cmedv):chas1
-17.466541536 -8.197577847 -4.375130082 -4.375130049
Bs6(cmedv):chas1 Bs7(cmedv):chas1 crim zn
-4.375130134 -3.375504890 -0.046790563 0.006151332
indus nox rm age
0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio
-0.299124862 0.081188783 -0.003717984 -0.218411314
b lstat
0.002667338 -0.166945349
>
> ### compute predicted median along with 10% and 90% quantile for the first
> ### observations
> predict(BC_BH_2, newdata = BostonHousing2[1:3,], type = "quantile",
+ prob = c(.1, .5, .9))
prob [,1] [,2] [,3]
0.1 22.77239 19.83903 23.39704
0.5 27.98349 23.65863 29.08549
0.9 38.50440 29.55907 41.48202
>
> ### plot the predicted density for these observations
> plot(BC_BH_2, newdata = BostonHousing2[1:3, -1],
+ which = "distribution", type = "density", K = 1000)
>
> ### evaluate the two baseline transformations, with confidence intervals
> nd <- model.frame(BC_BH_2)[1:2, -1]
> nd$chas <- factor(c("0", "1"))
> library("colorspace")
> col <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90))
> fill <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90), alpha = .3)
> plot(BC_BH_2, which = "baseline only", newdata = nd, col = col,
+ confidence = "interval", fill = fill, lwd = 2,
+ xlab = "Median Value", ylab = expression(h[Y]))
> legend("bottomright", lty = 1, col = col,
+ title = "Near Charles River", legend = c("no", "yes"), bty = "n")
>
> ### cars data; with quantile functions
> plot(dist ~ speed, data = cars)
> m <- Colr(dist ~ speed, data = cars)
> q <- predict(as.mlt(m), newdata = data.frame(speed = s <- 7:20),
+ type = "quantile", prob = c(1, 5, 9) / 10)
> lines(s, q[1,])
> lines(s, q[2,])
> lines(s, q[3,])
>
> nd <- data.frame(speed = s <- as.double(1:5 * 5))
>
> # Prob(dist at speed s > dist at speed 0)
> # speed 0 is reference, not a good choice here
> PI(m, newdata = nd)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.8593495 0.978335 0.9975546 0.9997618 0.9999786
>
> # Prob(dist at speed s > dist at speed 15)
> lp15 <- c(predict(m, newdata = data.frame(speed = 15)))
> PI(m, newdata = nd, reference = lp15)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
> PI(m, newdata = nd, reference = nd[3,,drop = FALSE])
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
>
> # Prob(dist at speed s' > dist at speed s)
> PI(m, newdata = nd, reference = nd)
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # essentially:
> lp <- predict(m, newdata = nd)
> PI(object = dist(lp))
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # same, with simultaneous confidence intervals
> PI(m, newdata = nd, reference = nd, conf.level = .95)
Estimate lwr upr
1-2 0.8593495 0.7811056 0.9141291
1-3 0.9783350 0.9324841 0.9937147
2-3 0.8593495 0.7811056 0.9141291
1-4 0.9975546 0.9835574 0.9996740
2-4 0.9783350 0.9324841 0.9937147
3-4 0.8593495 0.7811056 0.9141291
1-5 0.9997618 0.9965137 0.9999854
2-5 0.9975546 0.9835574 0.9996740
3-5 0.9783350 0.9324841 0.9937147
4-5 0.8593495 0.7811056 0.9141291
attr(,"conf.level")
[1] 0.95
attr(,"calpha")
[1] 1.960362
>
> # plot ROC curves + confidence bands
> # compare speed 20 and 25 to speed 15
> plot(ROC(m, newdata = nd[4:5,,drop = FALSE],
+ reference = nd[3,,drop = FALSE],
+ conf.level = 0.95))
>
> # Overlap of conditional densities at speed s' and s
> OVL(m, newdata = nd, reference = nd)
1 2 3 4
2 0.419779466
3 0.131832586 0.419779466
4 0.036802262 0.131832586 0.419779466
5 0.009910296 0.036802262 0.131832586 0.419779466
>
> ### ROC analysis (takes too long for CRAN Windows)
> if (require("mlbench") && .Platform$OS.type != "windows") {
+
+ layout(matrix(1:4, nrow = 2))
+ data("PimaIndiansDiabetes2", package = "mlbench")
+ dia <- sort(unique(PimaIndiansDiabetes2$diabetes))
+ nd <- data.frame(diabetes = dia,
+ age = 29, mass = 32) ### median values
+
+ ### unconditional ROC analysis: glucose tolerance test
+ m0 <- Colr(glucose ~ diabetes, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band
+ plot(ROC(m0, newdata = nd[2,,drop = FALSE], conf.level = .95))
+ # Wald interval for AUC
+ PI(m0, newdata = nd[2,,drop = FALSE], conf.level = .95)
+ # score interval for AUC
+ PI(-c(coef(m0), score_test(m0)$conf.int[2:1]))
+
+ ### adjusted ROC analysis for age and mass
+ m1 <- Colr(glucose ~ diabetes + age + mass, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band (this is the same for all ages /
+ # masses)
+ plot(ROC(m1, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # Wald interval for adjusted AUC
+ PI(m1, newdata = nd[2,,drop = FALSE], reference = nd[1,,drop = FALSE],
+ conf.level = .95)
+ # Score interval for adjusted AUC
+ PI(-c(coef(m1)[1], score_test(m1, names(coef(m1))[1])$conf.int[2:1]))
+
+ ### conditional ROC analysis: AUC regression ~ age + mass
+ m2 <- Colr(glucose ~ diabetes * (age + mass), data = PimaIndiansDiabetes2)
+ # ROC curve for a person with age = 29 and mass = 32
+ plot(ROC(m2, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # AUC for persons ages 21:81, all with mass = 32
+ nd1 <- data.frame(diabetes = nd[1,"diabetes"], age = 21:81, mass = 32)
+ nd2 <- data.frame(diabetes = nd[2,"diabetes"], age = 21:81, mass = 32)
+ auc <- PI(m2, newdata = nd2, reference = nd1, one2one = TRUE,
+ conf.level = 0.95)
+ plot(nd1$age, auc[, "Estimate"], xlab = "Age (in years)", ylab =
+ "AUC", ylim = c(0, 1), type = "l")
+ lines(nd1$age, auc[, "lwr"], lty = 3)
+ lines(nd1$age, auc[, "upr"], lty = 3)
+ }
Loading required package: mlbench
Warning in data("PimaIndiansDiabetes2", package = "mlbench") :
data set ‘PimaIndiansDiabetes2’ not found
Error: object 'PimaIndiansDiabetes2' not found
Execution halted
Examples with CPU (user + system) or elapsed time > 5s
user system elapsed
mmlt 4.253 0.048 5.301
Coxph 4.086 0.107 5.425
perm_test 3.870 0.105 5.075
score_test 3.885 0.070 5.129
Flavor: r-devel-linux-x86_64-debian-gcc
Version: 1.4-4
Check: examples
Result: ERROR
Running examples in ‘tram-Ex.R’ failed
The error most likely occurred in:
> ### Name: tram-methods
> ### Title: Methods for Stratified Linear Transformation Models
> ### Aliases: as.mlt.tram model.frame.tram model.matrix.tram
> ### model.matrix.stram coef.tram coef.Lm coef.Survreg vcov.tram
> ### logLik.tram estfun.tram predict.tram predict.stram residuals.tram
> ### plot.tram plot.ROCtram PI PI.tram PI.default OVL OVL.tram OVL.default
> ### TV TV.tram TV.default L1 L1.tram L1.default ROC ROC.tram ROC.default
>
> ### ** Examples
>
>
> data("BostonHousing2", package = "mlbench")
>
> ### fit non-normal Box-Cox type linear model with two
> ### baseline functions (for houses near and off Charles River)
> BC_BH_2 <- BoxCox(cmedv | 0 + chas ~ crim + zn + indus + nox +
+ rm + age + dis + rad + tax + ptratio + b + lstat,
+ data = BostonHousing2)
> logLik(BC_BH_2)
'log Lik.' -1334.509 (df=26)
>
> ### classical likelihood inference
> summary(BC_BH_2)
(Stratified) Non-normal (Box-Cox-Type) Linear Regression Model
Call:
BoxCox(formula = cmedv | 0 + chas ~ crim + zn + indus + nox +
rm + age + dis + rad + tax + ptratio + b + lstat, data = BostonHousing2)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
crim -0.0467906 0.0074130 -6.312 2.76e-10 ***
zn 0.0061513 0.0029332 2.097 0.036 *
indus 0.0140681 0.0131135 1.073 0.283
nox -4.9487919 0.8464110 -5.847 5.01e-09 ***
rm 0.4368418 0.0948225 4.607 4.09e-06 ***
age -0.0016568 0.0028368 -0.584 0.559
dis -0.2991249 0.0437646 -6.835 8.21e-12 ***
rad 0.0811888 0.0142694 5.690 1.27e-08 ***
tax -0.0037180 0.0008041 -4.624 3.76e-06 ***
ptratio -0.2184113 0.0285718 -7.644 2.11e-14 ***
b 0.0026673 0.0005776 4.618 3.87e-06 ***
lstat -0.1669453 0.0123199 -13.551 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log-Likelihood:
-1334.509 (df = 26)
Likelihood-ratio Test: Chisq = 817.2314 on 12 degrees of freedom; p = < 2.2e-16
>
> ### coefficients of the linear predictor
> coef(BC_BH_2)
crim zn indus nox rm age
-0.046790563 0.006151332 0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio b lstat
-0.299124862 0.081188783 -0.003717984 -0.218411314 0.002667338 -0.166945349
>
> ### plot linear predictor (mean of _transformed_ response)
> ### vs. observed values
> plot(predict(BC_BH_2, type = "lp"), BostonHousing2$cmedv)
>
> ### all coefficients
> coef(BC_BH_2, with_baseline = TRUE)
Bs1(cmedv):chas0 Bs2(cmedv):chas0 Bs3(cmedv):chas0 Bs4(cmedv):chas0
-13.299892745 -11.572055177 -11.572055179 -4.413500468
Bs5(cmedv):chas0 Bs6(cmedv):chas0 Bs7(cmedv):chas0 Bs1(cmedv):chas1
-2.922815888 -2.922815896 -2.176114273 -17.466541536
Bs2(cmedv):chas1 Bs3(cmedv):chas1 Bs4(cmedv):chas1 Bs5(cmedv):chas1
-17.466541536 -8.197577847 -4.375130082 -4.375130049
Bs6(cmedv):chas1 Bs7(cmedv):chas1 crim zn
-4.375130134 -3.375504890 -0.046790563 0.006151332
indus nox rm age
0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio
-0.299124862 0.081188783 -0.003717984 -0.218411314
b lstat
0.002667338 -0.166945349
>
> ### compute predicted median along with 10% and 90% quantile for the first
> ### observations
> predict(BC_BH_2, newdata = BostonHousing2[1:3,], type = "quantile",
+ prob = c(.1, .5, .9))
prob [,1] [,2] [,3]
0.1 22.77239 19.83903 23.39704
0.5 27.98349 23.65863 29.08549
0.9 38.50440 29.55907 41.48202
>
> ### plot the predicted density for these observations
> plot(BC_BH_2, newdata = BostonHousing2[1:3, -1],
+ which = "distribution", type = "density", K = 1000)
>
> ### evaluate the two baseline transformations, with confidence intervals
> nd <- model.frame(BC_BH_2)[1:2, -1]
> nd$chas <- factor(c("0", "1"))
> library("colorspace")
> col <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90))
> fill <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90), alpha = .3)
> plot(BC_BH_2, which = "baseline only", newdata = nd, col = col,
+ confidence = "interval", fill = fill, lwd = 2,
+ xlab = "Median Value", ylab = expression(h[Y]))
> legend("bottomright", lty = 1, col = col,
+ title = "Near Charles River", legend = c("no", "yes"), bty = "n")
>
> ### cars data; with quantile functions
> plot(dist ~ speed, data = cars)
> m <- Colr(dist ~ speed, data = cars)
> q <- predict(as.mlt(m), newdata = data.frame(speed = s <- 7:20),
+ type = "quantile", prob = c(1, 5, 9) / 10)
> lines(s, q[1,])
> lines(s, q[2,])
> lines(s, q[3,])
>
> nd <- data.frame(speed = s <- as.double(1:5 * 5))
>
> # Prob(dist at speed s > dist at speed 0)
> # speed 0 is reference, not a good choice here
> PI(m, newdata = nd)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.8593495 0.978335 0.9975546 0.9997618 0.9999786
>
> # Prob(dist at speed s > dist at speed 15)
> lp15 <- c(predict(m, newdata = data.frame(speed = 15)))
> PI(m, newdata = nd, reference = lp15)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
> PI(m, newdata = nd, reference = nd[3,,drop = FALSE])
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
>
> # Prob(dist at speed s' > dist at speed s)
> PI(m, newdata = nd, reference = nd)
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # essentially:
> lp <- predict(m, newdata = nd)
> PI(object = dist(lp))
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # same, with simultaneous confidence intervals
> PI(m, newdata = nd, reference = nd, conf.level = .95)
Estimate lwr upr
1-2 0.8593495 0.7811056 0.9141291
1-3 0.9783350 0.9324841 0.9937147
2-3 0.8593495 0.7811056 0.9141291
1-4 0.9975546 0.9835574 0.9996740
2-4 0.9783350 0.9324841 0.9937147
3-4 0.8593495 0.7811056 0.9141291
1-5 0.9997618 0.9965137 0.9999854
2-5 0.9975546 0.9835574 0.9996740
3-5 0.9783350 0.9324841 0.9937147
4-5 0.8593495 0.7811056 0.9141291
attr(,"conf.level")
[1] 0.95
attr(,"calpha")
[1] 1.960362
>
> # plot ROC curves + confidence bands
> # compare speed 20 and 25 to speed 15
> plot(ROC(m, newdata = nd[4:5,,drop = FALSE],
+ reference = nd[3,,drop = FALSE],
+ conf.level = 0.95))
>
> # Overlap of conditional densities at speed s' and s
> OVL(m, newdata = nd, reference = nd)
1 2 3 4
2 0.419779466
3 0.131832586 0.419779466
4 0.036802262 0.131832586 0.419779466
5 0.009910296 0.036802262 0.131832586 0.419779466
>
> ### ROC analysis (takes too long for CRAN Windows)
> if (require("mlbench") && .Platform$OS.type != "windows") {
+
+ layout(matrix(1:4, nrow = 2))
+ data("PimaIndiansDiabetes2", package = "mlbench")
+ dia <- sort(unique(PimaIndiansDiabetes2$diabetes))
+ nd <- data.frame(diabetes = dia,
+ age = 29, mass = 32) ### median values
+
+ ### unconditional ROC analysis: glucose tolerance test
+ m0 <- Colr(glucose ~ diabetes, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band
+ plot(ROC(m0, newdata = nd[2,,drop = FALSE], conf.level = .95))
+ # Wald interval for AUC
+ PI(m0, newdata = nd[2,,drop = FALSE], conf.level = .95)
+ # score interval for AUC
+ PI(-c(coef(m0), score_test(m0)$conf.int[2:1]))
+
+ ### adjusted ROC analysis for age and mass
+ m1 <- Colr(glucose ~ diabetes + age + mass, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band (this is the same for all ages /
+ # masses)
+ plot(ROC(m1, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # Wald interval for adjusted AUC
+ PI(m1, newdata = nd[2,,drop = FALSE], reference = nd[1,,drop = FALSE],
+ conf.level = .95)
+ # Score interval for adjusted AUC
+ PI(-c(coef(m1)[1], score_test(m1, names(coef(m1))[1])$conf.int[2:1]))
+
+ ### conditional ROC analysis: AUC regression ~ age + mass
+ m2 <- Colr(glucose ~ diabetes * (age + mass), data = PimaIndiansDiabetes2)
+ # ROC curve for a person with age = 29 and mass = 32
+ plot(ROC(m2, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # AUC for persons ages 21:81, all with mass = 32
+ nd1 <- data.frame(diabetes = nd[1,"diabetes"], age = 21:81, mass = 32)
+ nd2 <- data.frame(diabetes = nd[2,"diabetes"], age = 21:81, mass = 32)
+ auc <- PI(m2, newdata = nd2, reference = nd1, one2one = TRUE,
+ conf.level = 0.95)
+ plot(nd1$age, auc[, "Estimate"], xlab = "Age (in years)", ylab =
+ "AUC", ylim = c(0, 1), type = "l")
+ lines(nd1$age, auc[, "lwr"], lty = 3)
+ lines(nd1$age, auc[, "upr"], lty = 3)
+ }
Loading required package: mlbench
Warning in data("PimaIndiansDiabetes2", package = "mlbench") :
data set ‘PimaIndiansDiabetes2’ not found
Error: object 'PimaIndiansDiabetes2' not found
Execution halted
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
Version: 1.4-4
Check: examples
Result: ERROR
Running examples in ‘tram-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: tram-methods
> ### Title: Methods for Stratified Linear Transformation Models
> ### Aliases: as.mlt.tram model.frame.tram model.matrix.tram
> ### model.matrix.stram coef.tram coef.Lm coef.Survreg vcov.tram
> ### logLik.tram estfun.tram predict.tram predict.stram residuals.tram
> ### plot.tram plot.ROCtram PI PI.tram PI.default OVL OVL.tram OVL.default
> ### TV TV.tram TV.default L1 L1.tram L1.default ROC ROC.tram ROC.default
>
> ### ** Examples
>
>
> data("BostonHousing2", package = "mlbench")
>
> ### fit non-normal Box-Cox type linear model with two
> ### baseline functions (for houses near and off Charles River)
> BC_BH_2 <- BoxCox(cmedv | 0 + chas ~ crim + zn + indus + nox +
+ rm + age + dis + rad + tax + ptratio + b + lstat,
+ data = BostonHousing2)
> logLik(BC_BH_2)
'log Lik.' -1334.509 (df=26)
>
> ### classical likelihood inference
> summary(BC_BH_2)
(Stratified) Non-normal (Box-Cox-Type) Linear Regression Model
Call:
BoxCox(formula = cmedv | 0 + chas ~ crim + zn + indus + nox +
rm + age + dis + rad + tax + ptratio + b + lstat, data = BostonHousing2)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
crim -0.0467906 0.0074130 -6.312 2.76e-10 ***
zn 0.0061513 0.0029332 2.097 0.036 *
indus 0.0140681 0.0131135 1.073 0.283
nox -4.9487919 0.8464110 -5.847 5.01e-09 ***
rm 0.4368418 0.0948225 4.607 4.09e-06 ***
age -0.0016568 0.0028368 -0.584 0.559
dis -0.2991249 0.0437646 -6.835 8.21e-12 ***
rad 0.0811888 0.0142694 5.690 1.27e-08 ***
tax -0.0037180 0.0008041 -4.624 3.76e-06 ***
ptratio -0.2184113 0.0285718 -7.644 2.11e-14 ***
b 0.0026673 0.0005776 4.618 3.87e-06 ***
lstat -0.1669453 0.0123199 -13.551 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log-Likelihood:
-1334.509 (df = 26)
Likelihood-ratio Test: Chisq = 817.2314 on 12 degrees of freedom; p = < 2.2e-16
>
> ### coefficients of the linear predictor
> coef(BC_BH_2)
crim zn indus nox rm age
-0.046790563 0.006151332 0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio b lstat
-0.299124862 0.081188783 -0.003717984 -0.218411314 0.002667338 -0.166945349
>
> ### plot linear predictor (mean of _transformed_ response)
> ### vs. observed values
> plot(predict(BC_BH_2, type = "lp"), BostonHousing2$cmedv)
>
> ### all coefficients
> coef(BC_BH_2, with_baseline = TRUE)
Bs1(cmedv):chas0 Bs2(cmedv):chas0 Bs3(cmedv):chas0 Bs4(cmedv):chas0
-13.299892745 -11.572055177 -11.572055179 -4.413500468
Bs5(cmedv):chas0 Bs6(cmedv):chas0 Bs7(cmedv):chas0 Bs1(cmedv):chas1
-2.922815888 -2.922815896 -2.176114273 -17.466541536
Bs2(cmedv):chas1 Bs3(cmedv):chas1 Bs4(cmedv):chas1 Bs5(cmedv):chas1
-17.466541536 -8.197577847 -4.375130082 -4.375130049
Bs6(cmedv):chas1 Bs7(cmedv):chas1 crim zn
-4.375130134 -3.375504890 -0.046790563 0.006151332
indus nox rm age
0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio
-0.299124862 0.081188783 -0.003717984 -0.218411314
b lstat
0.002667338 -0.166945349
>
> ### compute predicted median along with 10% and 90% quantile for the first
> ### observations
> predict(BC_BH_2, newdata = BostonHousing2[1:3,], type = "quantile",
+ prob = c(.1, .5, .9))
prob [,1] [,2] [,3]
0.1 22.77239 19.83903 23.39704
0.5 27.98349 23.65863 29.08549
0.9 38.50440 29.55907 41.48202
>
> ### plot the predicted density for these observations
> plot(BC_BH_2, newdata = BostonHousing2[1:3, -1],
+ which = "distribution", type = "density", K = 1000)
>
> ### evaluate the two baseline transformations, with confidence intervals
> nd <- model.frame(BC_BH_2)[1:2, -1]
> nd$chas <- factor(c("0", "1"))
> library("colorspace")
> col <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90))
> fill <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90), alpha = .3)
> plot(BC_BH_2, which = "baseline only", newdata = nd, col = col,
+ confidence = "interval", fill = fill, lwd = 2,
+ xlab = "Median Value", ylab = expression(h[Y]))
> legend("bottomright", lty = 1, col = col,
+ title = "Near Charles River", legend = c("no", "yes"), bty = "n")
>
> ### cars data; with quantile functions
> plot(dist ~ speed, data = cars)
> m <- Colr(dist ~ speed, data = cars)
> q <- predict(as.mlt(m), newdata = data.frame(speed = s <- 7:20),
+ type = "quantile", prob = c(1, 5, 9) / 10)
> lines(s, q[1,])
> lines(s, q[2,])
> lines(s, q[3,])
>
> nd <- data.frame(speed = s <- as.double(1:5 * 5))
>
> # Prob(dist at speed s > dist at speed 0)
> # speed 0 is reference, not a good choice here
> PI(m, newdata = nd)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.8593495 0.978335 0.9975546 0.9997618 0.9999786
>
> # Prob(dist at speed s > dist at speed 15)
> lp15 <- c(predict(m, newdata = data.frame(speed = 15)))
> PI(m, newdata = nd, reference = lp15)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
> PI(m, newdata = nd, reference = nd[3,,drop = FALSE])
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
>
> # Prob(dist at speed s' > dist at speed s)
> PI(m, newdata = nd, reference = nd)
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # essentially:
> lp <- predict(m, newdata = nd)
> PI(object = dist(lp))
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # same, with simultaneous confidence intervals
> PI(m, newdata = nd, reference = nd, conf.level = .95)
Estimate lwr upr
1-2 0.8593495 0.7811056 0.9141291
1-3 0.9783350 0.9324841 0.9937147
2-3 0.8593495 0.7811056 0.9141291
1-4 0.9975546 0.9835574 0.9996740
2-4 0.9783350 0.9324841 0.9937147
3-4 0.8593495 0.7811056 0.9141291
1-5 0.9997618 0.9965137 0.9999854
2-5 0.9975546 0.9835574 0.9996740
3-5 0.9783350 0.9324841 0.9937147
4-5 0.8593495 0.7811056 0.9141291
attr(,"conf.level")
[1] 0.95
attr(,"calpha")
[1] 1.960362
>
> # plot ROC curves + confidence bands
> # compare speed 20 and 25 to speed 15
> plot(ROC(m, newdata = nd[4:5,,drop = FALSE],
+ reference = nd[3,,drop = FALSE],
+ conf.level = 0.95))
>
> # Overlap of conditional densities at speed s' and s
> OVL(m, newdata = nd, reference = nd)
1 2 3 4
2 0.419779466
3 0.131832586 0.419779466
4 0.036802262 0.131832586 0.419779466
5 0.009910296 0.036802262 0.131832586 0.419779466
>
> ### ROC analysis (takes too long for CRAN Windows)
> if (require("mlbench") && .Platform$OS.type != "windows") {
+
+ layout(matrix(1:4, nrow = 2))
+ data("PimaIndiansDiabetes2", package = "mlbench")
+ dia <- sort(unique(PimaIndiansDiabetes2$diabetes))
+ nd <- data.frame(diabetes = dia,
+ age = 29, mass = 32) ### median values
+
+ ### unconditional ROC analysis: glucose tolerance test
+ m0 <- Colr(glucose ~ diabetes, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band
+ plot(ROC(m0, newdata = nd[2,,drop = FALSE], conf.level = .95))
+ # Wald interval for AUC
+ PI(m0, newdata = nd[2,,drop = FALSE], conf.level = .95)
+ # score interval for AUC
+ PI(-c(coef(m0), score_test(m0)$conf.int[2:1]))
+
+ ### adjusted ROC analysis for age and mass
+ m1 <- Colr(glucose ~ diabetes + age + mass, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band (this is the same for all ages /
+ # masses)
+ plot(ROC(m1, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # Wald interval for adjusted AUC
+ PI(m1, newdata = nd[2,,drop = FALSE], reference = nd[1,,drop = FALSE],
+ conf.level = .95)
+ # Score interval for adjusted AUC
+ PI(-c(coef(m1)[1], score_test(m1, names(coef(m1))[1])$conf.int[2:1]))
+
+ ### conditional ROC analysis: AUC regression ~ age + mass
+ m2 <- Colr(glucose ~ diabetes * (age + mass), data = PimaIndiansDiabetes2)
+ # ROC curve for a person with age = 29 and mass = 32
+ plot(ROC(m2, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # AUC for persons ages 21:81, all with mass = 32
+ nd1 <- data.frame(diabetes = nd[1,"diabetes"], age = 21:81, mass = 32)
+ nd2 <- data.frame(diabetes = nd[2,"diabetes"], age = 21:81, mass = 32)
+ auc <- PI(m2, newdata = nd2, reference = nd1, one2one = TRUE,
+ conf.level = 0.95)
+ plot(nd1$age, auc[, "Estimate"], xlab = "Age (in years)", ylab =
+ "AUC", ylim = c(0, 1), type = "l")
+ lines(nd1$age, auc[, "lwr"], lty = 3)
+ lines(nd1$age, auc[, "upr"], lty = 3)
+ }
Loading required package: mlbench
Warning in data("PimaIndiansDiabetes2", package = "mlbench") :
data set ‘PimaIndiansDiabetes2’ not found
Error: object 'PimaIndiansDiabetes2' not found
Execution halted
Examples with CPU (user + system) or elapsed time > 5s
user system elapsed
mmlt 7.170 0.059 8.122
score_test 5.823 0.047 6.621
perm_test 5.709 0.044 5.950
Coxph 5.713 0.025 6.153
Flavor: r-patched-linux-x86_64
Version: 1.4-4
Check: examples
Result: ERROR
Running examples in ‘tram-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: tram-methods
> ### Title: Methods for Stratified Linear Transformation Models
> ### Aliases: as.mlt.tram model.frame.tram model.matrix.tram
> ### model.matrix.stram coef.tram coef.Lm coef.Survreg vcov.tram
> ### logLik.tram estfun.tram predict.tram predict.stram residuals.tram
> ### plot.tram plot.ROCtram PI PI.tram PI.default OVL OVL.tram OVL.default
> ### TV TV.tram TV.default L1 L1.tram L1.default ROC ROC.tram ROC.default
>
> ### ** Examples
>
>
> data("BostonHousing2", package = "mlbench")
>
> ### fit non-normal Box-Cox type linear model with two
> ### baseline functions (for houses near and off Charles River)
> BC_BH_2 <- BoxCox(cmedv | 0 + chas ~ crim + zn + indus + nox +
+ rm + age + dis + rad + tax + ptratio + b + lstat,
+ data = BostonHousing2)
> logLik(BC_BH_2)
'log Lik.' -1334.509 (df=26)
>
> ### classical likelihood inference
> summary(BC_BH_2)
(Stratified) Non-normal (Box-Cox-Type) Linear Regression Model
Call:
BoxCox(formula = cmedv | 0 + chas ~ crim + zn + indus + nox +
rm + age + dis + rad + tax + ptratio + b + lstat, data = BostonHousing2)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
crim -0.0467906 0.0074130 -6.312 2.76e-10 ***
zn 0.0061513 0.0029332 2.097 0.036 *
indus 0.0140681 0.0131135 1.073 0.283
nox -4.9487919 0.8464110 -5.847 5.01e-09 ***
rm 0.4368418 0.0948225 4.607 4.09e-06 ***
age -0.0016568 0.0028368 -0.584 0.559
dis -0.2991249 0.0437646 -6.835 8.21e-12 ***
rad 0.0811888 0.0142694 5.690 1.27e-08 ***
tax -0.0037180 0.0008041 -4.624 3.76e-06 ***
ptratio -0.2184113 0.0285718 -7.644 2.11e-14 ***
b 0.0026673 0.0005776 4.618 3.87e-06 ***
lstat -0.1669453 0.0123199 -13.551 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log-Likelihood:
-1334.509 (df = 26)
Likelihood-ratio Test: Chisq = 817.2314 on 12 degrees of freedom; p = < 2.2e-16
>
> ### coefficients of the linear predictor
> coef(BC_BH_2)
crim zn indus nox rm age
-0.046790563 0.006151332 0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio b lstat
-0.299124862 0.081188783 -0.003717984 -0.218411314 0.002667338 -0.166945349
>
> ### plot linear predictor (mean of _transformed_ response)
> ### vs. observed values
> plot(predict(BC_BH_2, type = "lp"), BostonHousing2$cmedv)
>
> ### all coefficients
> coef(BC_BH_2, with_baseline = TRUE)
Bs1(cmedv):chas0 Bs2(cmedv):chas0 Bs3(cmedv):chas0 Bs4(cmedv):chas0
-13.299892745 -11.572055177 -11.572055179 -4.413500468
Bs5(cmedv):chas0 Bs6(cmedv):chas0 Bs7(cmedv):chas0 Bs1(cmedv):chas1
-2.922815888 -2.922815896 -2.176114273 -17.466541536
Bs2(cmedv):chas1 Bs3(cmedv):chas1 Bs4(cmedv):chas1 Bs5(cmedv):chas1
-17.466541536 -8.197577847 -4.375130082 -4.375130049
Bs6(cmedv):chas1 Bs7(cmedv):chas1 crim zn
-4.375130134 -3.375504890 -0.046790563 0.006151332
indus nox rm age
0.014068066 -4.948791933 0.436841809 -0.001656839
dis rad tax ptratio
-0.299124862 0.081188783 -0.003717984 -0.218411314
b lstat
0.002667338 -0.166945349
>
> ### compute predicted median along with 10% and 90% quantile for the first
> ### observations
> predict(BC_BH_2, newdata = BostonHousing2[1:3,], type = "quantile",
+ prob = c(.1, .5, .9))
prob [,1] [,2] [,3]
0.1 22.77239 19.83903 23.39704
0.5 27.98349 23.65863 29.08549
0.9 38.50440 29.55907 41.48202
>
> ### plot the predicted density for these observations
> plot(BC_BH_2, newdata = BostonHousing2[1:3, -1],
+ which = "distribution", type = "density", K = 1000)
>
> ### evaluate the two baseline transformations, with confidence intervals
> nd <- model.frame(BC_BH_2)[1:2, -1]
> nd$chas <- factor(c("0", "1"))
> library("colorspace")
> col <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90))
> fill <- diverge_hcl(2, h = c(246, 40), c = 96, l = c(65, 90), alpha = .3)
> plot(BC_BH_2, which = "baseline only", newdata = nd, col = col,
+ confidence = "interval", fill = fill, lwd = 2,
+ xlab = "Median Value", ylab = expression(h[Y]))
> legend("bottomright", lty = 1, col = col,
+ title = "Near Charles River", legend = c("no", "yes"), bty = "n")
>
> ### cars data; with quantile functions
> plot(dist ~ speed, data = cars)
> m <- Colr(dist ~ speed, data = cars)
> q <- predict(as.mlt(m), newdata = data.frame(speed = s <- 7:20),
+ type = "quantile", prob = c(1, 5, 9) / 10)
> lines(s, q[1,])
> lines(s, q[2,])
> lines(s, q[3,])
>
> nd <- data.frame(speed = s <- as.double(1:5 * 5))
>
> # Prob(dist at speed s > dist at speed 0)
> # speed 0 is reference, not a good choice here
> PI(m, newdata = nd)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.8593495 0.978335 0.9975546 0.9997618 0.9999786
>
> # Prob(dist at speed s > dist at speed 15)
> lp15 <- c(predict(m, newdata = data.frame(speed = 15)))
> PI(m, newdata = nd, reference = lp15)
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
> PI(m, newdata = nd, reference = nd[3,,drop = FALSE])
[,1] [,2] [,3] [,4] [,5]
[1,] 0.02166504 0.1406505 0.5 0.8593495 0.978335
>
> # Prob(dist at speed s' > dist at speed s)
> PI(m, newdata = nd, reference = nd)
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # essentially:
> lp <- predict(m, newdata = nd)
> PI(object = dist(lp))
1 2 3 4
2 0.8593495
3 0.9783350 0.8593495
4 0.9975546 0.9783350 0.8593495
5 0.9997618 0.9975546 0.9783350 0.8593495
> # same, with simultaneous confidence intervals
> PI(m, newdata = nd, reference = nd, conf.level = .95)
Estimate lwr upr
1-2 0.8593495 0.7811056 0.9141291
1-3 0.9783350 0.9324841 0.9937147
2-3 0.8593495 0.7811056 0.9141291
1-4 0.9975546 0.9835574 0.9996740
2-4 0.9783350 0.9324841 0.9937147
3-4 0.8593495 0.7811056 0.9141291
1-5 0.9997618 0.9965137 0.9999854
2-5 0.9975546 0.9835574 0.9996740
3-5 0.9783350 0.9324841 0.9937147
4-5 0.8593495 0.7811056 0.9141291
attr(,"conf.level")
[1] 0.95
attr(,"calpha")
[1] 1.960362
>
> # plot ROC curves + confidence bands
> # compare speed 20 and 25 to speed 15
> plot(ROC(m, newdata = nd[4:5,,drop = FALSE],
+ reference = nd[3,,drop = FALSE],
+ conf.level = 0.95))
>
> # Overlap of conditional densities at speed s' and s
> OVL(m, newdata = nd, reference = nd)
1 2 3 4
2 0.419779466
3 0.131832586 0.419779466
4 0.036802262 0.131832586 0.419779466
5 0.009910296 0.036802262 0.131832586 0.419779466
>
> ### ROC analysis (takes too long for CRAN Windows)
> if (require("mlbench") && .Platform$OS.type != "windows") {
+
+ layout(matrix(1:4, nrow = 2))
+ data("PimaIndiansDiabetes2", package = "mlbench")
+ dia <- sort(unique(PimaIndiansDiabetes2$diabetes))
+ nd <- data.frame(diabetes = dia,
+ age = 29, mass = 32) ### median values
+
+ ### unconditional ROC analysis: glucose tolerance test
+ m0 <- Colr(glucose ~ diabetes, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band
+ plot(ROC(m0, newdata = nd[2,,drop = FALSE], conf.level = .95))
+ # Wald interval for AUC
+ PI(m0, newdata = nd[2,,drop = FALSE], conf.level = .95)
+ # score interval for AUC
+ PI(-c(coef(m0), score_test(m0)$conf.int[2:1]))
+
+ ### adjusted ROC analysis for age and mass
+ m1 <- Colr(glucose ~ diabetes + age + mass, data = PimaIndiansDiabetes2)
+ # ROC curve + confidence band (this is the same for all ages /
+ # masses)
+ plot(ROC(m1, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # Wald interval for adjusted AUC
+ PI(m1, newdata = nd[2,,drop = FALSE], reference = nd[1,,drop = FALSE],
+ conf.level = .95)
+ # Score interval for adjusted AUC
+ PI(-c(coef(m1)[1], score_test(m1, names(coef(m1))[1])$conf.int[2:1]))
+
+ ### conditional ROC analysis: AUC regression ~ age + mass
+ m2 <- Colr(glucose ~ diabetes * (age + mass), data = PimaIndiansDiabetes2)
+ # ROC curve for a person with age = 29 and mass = 32
+ plot(ROC(m2, newdata = nd[2,,drop = FALSE],
+ reference = nd[1,,drop = FALSE],
+ conf.level = .95))
+ # AUC for persons ages 21:81, all with mass = 32
+ nd1 <- data.frame(diabetes = nd[1,"diabetes"], age = 21:81, mass = 32)
+ nd2 <- data.frame(diabetes = nd[2,"diabetes"], age = 21:81, mass = 32)
+ auc <- PI(m2, newdata = nd2, reference = nd1, one2one = TRUE,
+ conf.level = 0.95)
+ plot(nd1$age, auc[, "Estimate"], xlab = "Age (in years)", ylab =
+ "AUC", ylim = c(0, 1), type = "l")
+ lines(nd1$age, auc[, "lwr"], lty = 3)
+ lines(nd1$age, auc[, "upr"], lty = 3)
+ }
Loading required package: mlbench
Warning in data("PimaIndiansDiabetes2", package = "mlbench") :
data set ‘PimaIndiansDiabetes2’ not found
Error: object 'PimaIndiansDiabetes2' not found
Execution halted
Examples with CPU (user + system) or elapsed time > 5s
user system elapsed
mmlt 7.682 0.124 10.623
perm_test 6.124 0.087 9.869
score_test 5.711 0.062 8.116
Coxph 5.460 0.106 9.017
mtram 3.489 0.039 5.111
Flavor: r-release-linux-x86_64
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.