blob: a2db8aa9fcfb436a083f4a632a8b2e15b74de92a [file] [log] [blame]
R version 3.6.2 Patched (2020-02-12 r77795) -- "Dark and Stormy Night"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> ## For examples skipped in testing because they need recommended packages.
>
> ## This is skipped entirely on a Unix-alike if recommended packages are,
> ## so for Windows
> if(!require("MASS")) q()
Loading required package: MASS
>
> pdf("reg-examples-3.pdf", encoding = "ISOLatin1.enc")
>
> ## From datasets
> if(require("survival")) {
+ model3 <- clogit(case ~ spontaneous+induced+strata(stratum), data = infert)
+ print(summary(model3))
+ detach("package:survival", unload = TRUE) # survival (conflicts)
+ }
Loading required package: survival
Call:
coxph(formula = Surv(rep(1, 248L), case) ~ spontaneous + induced +
strata(stratum), data = infert, method = "exact")
n= 248, number of events= 83
coef exp(coef) se(coef) z Pr(>|z|)
spontaneous 1.9859 7.2854 0.3524 5.635 1.75e-08 ***
induced 1.4090 4.0919 0.3607 3.906 9.38e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
spontaneous 7.285 0.1373 3.651 14.536
induced 4.092 0.2444 2.018 8.298
Concordance= 0.776 (se = 0.044 )
Likelihood ratio test= 53.15 on 2 df, p=3e-12
Wald test = 31.84 on 2 df, p=1e-07
Score (logrank) test = 48.44 on 2 df, p=3e-11
>
>
> ## From grDevices
> x1 <- matrix(rnorm(1e3), ncol = 2)
> x2 <- matrix(rnorm(1e3, mean = 3, sd = 1.5), ncol = 2)
> x <- rbind(x1, x2)
>
> dcols <- densCols(x)
> graphics::plot(x, col = dcols, pch = 20, main = "n = 1000")
>
>
> ## From graphics:
> ## A largish data set
> set.seed(123)
> n <- 10000
> x1 <- matrix(rnorm(n), ncol = 2)
> x2 <- matrix(rnorm(n, mean = 3, sd = 1.5), ncol = 2)
> x <- rbind(x1, x2)
>
> oldpar <- par(mfrow = c(2, 2))
> smoothScatter(x, nrpoints = 0)
> smoothScatter(x)
>
> ## a different color scheme:
> Lab.palette <- colorRampPalette(c("blue", "orange", "red"), space = "Lab")
> smoothScatter(x, colramp = Lab.palette)
>
> ## somewhat similar, using identical smoothing computations,
> ## but considerably *less* efficient for really large data:
> plot(x, col = densCols(x), pch = 20)
>
> ## use with pairs:
> par(mfrow = c(1, 1))
> y <- matrix(rnorm(40000), ncol = 4) + 3*rnorm(10000)
> y[, c(2,4)] <- -y[, c(2,4)]
> pairs(y, panel = function(...) smoothScatter(..., nrpoints = 0, add = TRUE))
>
> par(oldpar)
>
>
> ## From stats
> # alias.Rd
> op <- options(contrasts = c("contr.helmert", "contr.poly"))
> npk.aov <- aov(yield ~ block + N*P*K, npk)
> alias(npk.aov)
Model :
yield ~ block + N * P * K
Complete :
(Intercept) block1 block2 block3 block4 block5 N1 P1 K1 N1:P1
N1:P1:K1 0 1 1/3 1/6 -3/10 -1/5 0 0 0 0
N1:K1 P1:K1
N1:P1:K1 0 0
> options(op) # reset
>
> # as.hclust.Rd
> if(require("cluster", quietly = TRUE)) {# is a recommended package
+ set.seed(123)
+ x <- matrix(rnorm(30), ncol = 3)
+ hc <- hclust(dist(x), method = "complete")
+ ag <- agnes(x, method = "complete")
+ hcag <- as.hclust(ag)
+ ## The dendrograms order slightly differently:
+ op <- par(mfrow = c(1,2))
+ plot(hc) ; mtext("hclust", side = 1)
+ plot(hcag); mtext("agnes", side = 1)
+ detach("package:cluster")
+ }
>
> # confint.Rd
> counts <- c(18,17,15,20,10,20,25,13,12)
> outcome <- gl(3, 1, 9); treatment <- gl(3, 3)
> glm.D93 <- glm(counts ~ outcome + treatment, family = poisson())
> confint(glm.D93)
Waiting for profiling to be done...
2.5 % 97.5 %
(Intercept) 2.6958215 3.36655581
outcome2 -0.8577018 -0.06255840
outcome3 -0.6753696 0.08244089
treatment2 -0.3932548 0.39325483
treatment3 -0.3932548 0.39325483
> confint.default(glm.D93) # based on asymptotic normality}
2.5 % 97.5 %
(Intercept) 2.7095672 3.37947764
outcome2 -0.8505027 -0.05800787
outcome3 -0.6707552 0.08478093
treatment2 -0.3919928 0.39199279
treatment3 -0.3919928 0.39199279
>
> # contrasts.Rd
> utils::example(factor)
factor> (ff <- factor(substring("statistics", 1:10, 1:10), levels = letters))
[1] s t a t i s t i c s
Levels: a b c d e f g h i j k l m n o p q r s t u v w x y z
factor> as.integer(ff) # the internal codes
[1] 19 20 1 20 9 19 20 9 3 19
factor> (f. <- factor(ff)) # drops the levels that do not occur
[1] s t a t i s t i c s
Levels: a c i s t
factor> ff[, drop = TRUE] # the same, more transparently
[1] s t a t i s t i c s
Levels: a c i s t
factor> factor(letters[1:20], labels = "letter")
[1] letter1 letter2 letter3 letter4 letter5 letter6 letter7 letter8
[9] letter9 letter10 letter11 letter12 letter13 letter14 letter15 letter16
[17] letter17 letter18 letter19 letter20
20 Levels: letter1 letter2 letter3 letter4 letter5 letter6 letter7 ... letter20
factor> class(ordered(4:1)) # "ordered", inheriting from "factor"
[1] "ordered" "factor"
factor> z <- factor(LETTERS[3:1], ordered = TRUE)
factor> ## and "relational" methods work:
factor> stopifnot(sort(z)[c(1,3)] == range(z), min(z) < max(z))
factor> ## Don't show:
factor> of <- ordered(ff)
factor> stopifnot(identical(range(of, rev(of)), of[3:2]),
factor+ identical(max(of), of[2]))
factor> ## End(Don't show)
factor>
factor> ## suppose you want "NA" as a level, and to allow missing values.
factor> (x <- factor(c(1, 2, NA), exclude = NULL))
[1] 1 2 <NA>
Levels: 1 2 <NA>
factor> is.na(x)[2] <- TRUE
factor> x # [1] 1 <NA> <NA>
[1] 1 <NA> <NA>
Levels: 1 2 <NA>
factor> is.na(x)
[1] FALSE TRUE FALSE
factor> # [1] FALSE TRUE FALSE
factor>
factor> ## More rational, since R 3.4.0 :
factor> factor(c(1:2, NA), exclude = "" ) # keeps <NA> , as
[1] 1 2 <NA>
Levels: 1 2 <NA>
factor> factor(c(1:2, NA), exclude = NULL) # always did
[1] 1 2 <NA>
Levels: 1 2 <NA>
factor> ## exclude = <character>
factor> z # ordered levels 'A < B < C'
[1] C B A
Levels: A < B < C
factor> factor(z, exclude = "C") # does exclude
[1] <NA> B A
Levels: A < B
factor> factor(z, exclude = "B") # ditto
[1] C <NA> A
Levels: A < C
factor> ## Now, labels maybe duplicated:
factor> ## factor() with duplicated labels allowing to "merge levels"
factor> x <- c("Man", "Male", "Man", "Lady", "Female")
factor> ## Map from 4 different values to only two levels:
factor> (xf <- factor(x, levels = c("Male", "Man" , "Lady", "Female"),
factor+ labels = c("Male", "Male", "Female", "Female")))
[1] Male Male Male Female Female
Levels: Male Female
factor> #> [1] Male Male Male Female Female
factor> #> Levels: Male Female
factor>
factor> ## Using addNA()
factor> Month <- airquality$Month
factor> table(addNA(Month))
5 6 7 8 9 <NA>
31 30 31 31 30 0
factor> table(addNA(Month, ifany = TRUE))
5 6 7 8 9
31 30 31 31 30
> fff <- ff[, drop = TRUE] # reduce to 5 levels.
> contrasts(fff) <- contr.sum(5)[, 1:2]; contrasts(fff)
[,1] [,2] [,3] [,4]
a 1 0 -0.2471257 0.2688164
c 0 1 -0.2471257 0.2688164
i 0 0 -0.1498721 -0.8817814
s 0 0 0.8912491 0.0753323
t -1 -1 -0.2471257 0.2688164
>
> ## using sparse contrasts: % useful, once model.matrix() works with these :
> ffs <- fff
> contrasts(ffs) <- contr.sum(5, sparse = TRUE)[, 1:2]; contrasts(ffs)
[,1] [,2] [,3] [,4]
a 1 0 -0.2471257 0.2688164
c 0 1 -0.2471257 0.2688164
i 0 0 -0.1498721 -0.8817814
s 0 0 0.8912491 0.0753323
t -1 -1 -0.2471257 0.2688164
> stopifnot(all.equal(ffs, fff))
> contrasts(ffs) <- contr.sum(5, sparse = TRUE); contrasts(ffs)
5 x 4 sparse Matrix of class "dgCMatrix"
a 1 . . .
c . 1 . .
i . . 1 .
s . . . 1
t -1 -1 -1 -1
>
> # glm.Rd
> utils::data(anorexia, package = "MASS")
>
> anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt),
+ family = gaussian, data = anorexia)
> summary(anorex.1)
Call:
glm(formula = Postwt ~ Prewt + Treat + offset(Prewt), family = gaussian,
data = anorexia)
Deviance Residuals:
Min 1Q Median 3Q Max
-14.1083 -4.2773 -0.5484 5.4838 15.2922
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 49.7711 13.3910 3.717 0.000410 ***
Prewt -0.5655 0.1612 -3.509 0.000803 ***
TreatCont -4.0971 1.8935 -2.164 0.033999 *
TreatFT 4.5631 2.1333 2.139 0.036035 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for gaussian family taken to be 48.69504)
Null deviance: 4525.4 on 71 degrees of freedom
Residual deviance: 3311.3 on 68 degrees of freedom
AIC: 489.97
Number of Fisher Scoring iterations: 2
>
> # logLik.Rd
> utils::data(Orthodont, package = "nlme")
> fm1 <- lm(distance ~ Sex * age, Orthodont)
> logLik(fm1)
'log Lik.' -239.1209 (df=5)
> logLik(fm1, REML = TRUE)
'log Lik.' -241.7796 (df=5)
>
> # nls.Rd
> od <- options(digits=5)
> ## The muscle dataset in MASS is from an experiment on muscle
> ## contraction on 21 animals. The observed variables are Strip
> ## (identifier of muscle), Conc (Cacl concentration) and Length
> ## (resulting length of muscle section).
> utils::data(muscle, package = "MASS")
>
> ## The non linear model considered is
> ## Length = alpha + beta*exp(-Conc/theta) + error
> ## where theta is constant but alpha and beta may vary with Strip.
>
> with(muscle, table(Strip)) # 2, 3 or 4 obs per strip
Strip
S01 S02 S03 S04 S05 S06 S07 S08 S09 S10 S11 S12 S13 S14 S15 S16 S17 S18 S19 S20
4 4 4 3 3 3 2 2 2 2 3 2 2 2 2 4 4 3 3 3
S21
3
>
> ## We first use the plinear algorithm to fit an overall model,
> ## ignoring that alpha and beta might vary with Strip.
>
> musc.1 <- nls(Length ~ cbind(1, exp(-Conc/th)), muscle,
+ start = list(th = 1), algorithm = "plinear")
> ## IGNORE_RDIFF_BEGIN
> summary(musc.1)
Formula: Length ~ cbind(1, exp(-Conc/th))
Parameters:
Estimate Std. Error t value Pr(>|t|)
th 0.608 0.115 5.31 1.9e-06 ***
.lin1 28.963 1.230 23.55 < 2e-16 ***
.lin2 -34.227 3.793 -9.02 1.4e-12 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 4.67 on 57 degrees of freedom
Number of iterations to convergence: 5
Achieved convergence tolerance: 9.32e-07
> ## IGNORE_RDIFF_END
>
> ## Then we use nls' indexing feature for parameters in non-linear
> ## models to use the conventional algorithm to fit a model in which
> ## alpha and beta vary with Strip. The starting values are provided
> ## by the previously fitted model.
> ## Note that with indexed parameters, the starting values must be
> ## given in a list (with names):
> b <- coef(musc.1)
> musc.2 <- nls(Length ~ a[Strip] + b[Strip]*exp(-Conc/th), muscle,
+ start = list(a = rep(b[2], 21), b = rep(b[3], 21), th = b[1]))
> ## IGNORE_RDIFF_BEGIN
> summary(musc.2)
Formula: Length ~ a[Strip] + b[Strip] * exp(-Conc/th)
Parameters:
Estimate Std. Error t value Pr(>|t|)
a1 23.454 0.796 29.46 5.0e-16 ***
a2 28.302 0.793 35.70 < 2e-16 ***
a3 30.801 1.716 17.95 1.7e-12 ***
a4 25.921 3.016 8.60 1.4e-07 ***
a5 23.201 2.891 8.02 3.5e-07 ***
a6 20.120 2.435 8.26 2.3e-07 ***
a7 33.595 1.682 19.98 3.0e-13 ***
a8 39.053 3.753 10.41 8.6e-09 ***
a9 32.137 3.318 9.69 2.5e-08 ***
a10 40.005 3.336 11.99 1.0e-09 ***
a11 36.190 3.109 11.64 1.6e-09 ***
a12 36.911 1.839 20.07 2.8e-13 ***
a13 30.635 1.700 18.02 1.6e-12 ***
a14 34.312 3.495 9.82 2.0e-08 ***
a15 38.395 3.375 11.38 2.3e-09 ***
a16 31.226 0.886 35.26 < 2e-16 ***
a17 31.230 0.821 38.02 < 2e-16 ***
a18 19.998 1.011 19.78 3.6e-13 ***
a19 37.095 1.071 34.65 < 2e-16 ***
a20 32.594 1.121 29.07 6.2e-16 ***
a21 30.376 1.057 28.74 7.5e-16 ***
b1 -27.300 6.873 -3.97 0.00099 ***
b2 -26.270 6.754 -3.89 0.00118 **
b3 -30.901 2.270 -13.61 1.4e-10 ***
b4 -32.238 3.810 -8.46 1.7e-07 ***
b5 -29.941 3.773 -7.94 4.1e-07 ***
b6 -20.622 3.647 -5.65 2.9e-05 ***
b7 -19.625 8.085 -2.43 0.02661 *
b8 -45.780 4.113 -11.13 3.2e-09 ***
b9 -31.345 6.352 -4.93 0.00013 ***
b10 -38.599 3.955 -9.76 2.2e-08 ***
b11 -33.921 3.839 -8.84 9.2e-08 ***
b12 -38.268 8.992 -4.26 0.00053 ***
b13 -22.568 8.194 -2.75 0.01355 *
b14 -36.167 6.358 -5.69 2.7e-05 ***
b15 -32.952 6.354 -5.19 7.4e-05 ***
b16 -47.207 9.540 -4.95 0.00012 ***
b17 -33.875 7.688 -4.41 0.00039 ***
b18 -15.896 6.222 -2.55 0.02051 *
b19 -28.969 7.235 -4.00 0.00092 ***
b20 -36.917 8.033 -4.60 0.00026 ***
b21 -26.508 7.012 -3.78 0.00149 **
th 0.797 0.127 6.30 8.0e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.11 on 17 degrees of freedom
Number of iterations to convergence: 8
Achieved convergence tolerance: 2.17e-06
> ## IGNORE_RDIFF_END
> options(od)
>
> # princomp.Rd
> ## Robust:
> (pc.rob <- princomp(stackloss, covmat = MASS::cov.rob(stackloss)))
Call:
princomp(x = stackloss, covmat = MASS::cov.rob(stackloss))
Standard deviations:
Comp.1 Comp.2 Comp.3 Comp.4
7.8322873 4.0077676 1.9114016 0.7624211
4 variables and 21 observations.
>
> # termplot.R
> library(MASS)
> hills.lm <- lm(log(time) ~ log(climb)+log(dist), data = hills)
> termplot(hills.lm, partial.resid = TRUE, smooth = panel.smooth,
+ terms = "log(dist)", main = "Original")
> termplot(hills.lm, transform.x = TRUE,
+ partial.resid = TRUE, smooth = panel.smooth,
+ terms = "log(dist)", main = "Transformed")
>
> # xtabs.Rd
> if(require("Matrix")) {
+ ## similar to "nlme"s 'ergoStool' :
+ d.ergo <- data.frame(Type = paste0("T", rep(1:4, 9*4)),
+ Subj = gl(9, 4, 36*4))
+ print(xtabs(~ Type + Subj, data = d.ergo)) # 4 replicates each
+ set.seed(15) # a subset of cases:
+ print(xtabs(~ Type + Subj, data = d.ergo[sample(36, 10), ], sparse = TRUE))
+
+ ## Hypothetical two-level setup:
+ inner <- factor(sample(letters[1:25], 100, replace = TRUE))
+ inout <- factor(sample(LETTERS[1:5], 25, replace = TRUE))
+ fr <- data.frame(inner = inner, outer = inout[as.integer(inner)])
+ print(xtabs(~ inner + outer, fr, sparse = TRUE))
+ }
Loading required package: Matrix
Subj
Type 1 2 3 4 5 6 7 8 9
T1 4 4 4 4 4 4 4 4 4
T2 4 4 4 4 4 4 4 4 4
T3 4 4 4 4 4 4 4 4 4
T4 4 4 4 4 4 4 4 4 4
4 x 9 sparse Matrix of class "dgCMatrix"
Subj
Type 1 2 3 4 5 6 7 8 9
T1 . 1 . . . 1 . . .
T2 . . . . . . . 1 1
T3 . . 1 1 1 . 1 1 .
T4 . 1 . . . . . . .
25 x 4 sparse Matrix of class "dgCMatrix"
outer
inner A B C E
a . . . 3
b . . . 6
c . . 5 .
d . 1 . .
e . . 3 .
f . . 5 .
g . . 3 .
h 6 . . .
i 8 . . .
j . 1 . .
k . . . 6
l . 2 . .
m . . . 7
n . . 3 .
o . 3 . .
p . 3 . .
q . . . 7
r . . . 2
s . 6 . .
t . . . 5
u 4 . . .
v . . 3 .
w . 3 . .
x . . 3 .
y 2 . . .
>
> ## From utils
> example(packageDescription)
pckgDs> ## No test:
pckgDs> ##D packageDescription("stats")
pckgDs> ##D packageDescription("stats", fields = c("Package", "Version"))
pckgDs> ##D
pckgDs> ##D packageDescription("stats", fields = "Version")
pckgDs> ##D packageDescription("stats", fields = "Version", drop = FALSE)
pckgDs> ##D
pckgDs> ##D if(packageVersion("MASS") < "7.3.29")
pckgDs> ##D message("you need to update 'MASS'")
pckgDs> ## End(No test)
pckgDs> pu <- packageDate("utils")
pckgDs> ## No test:
pckgDs> ##D str(pu)
pckgDs> ## End(No test)
pckgDs> stopifnot(identical(pu, packageDate(desc = packageDescription("utils"))),
pckgDs+ identical(pu, packageDate("stats"))) # as "utils" and "stats" are
pckgDs> # both 'base R' and "Built" at same time
pckgDs>
pckgDs>
pckgDs>
>
>
> ## From splines
> library(splines)
> Matrix::drop0(zapsmall(6*splineDesign(knots = 1:40, x = 4:37, sparse = TRUE)))
34 x 36 sparse Matrix of class "dgCMatrix"
[1,] 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
[2,] . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
[3,] . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
[4,] . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
[5,] . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
[6,] . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
[7,] . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
[8,] . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . . . .
[9,] . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . . .
[10,] . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . . .
[11,] . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . . .
[12,] . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . . .
[13,] . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . . .
[14,] . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . . .
[15,] . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . . .
[16,] . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . . .
[17,] . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . . .
[18,] . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . . .
[19,] . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . . .
[20,] . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . . .
[21,] . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . . .
[22,] . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . . .
[23,] . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . . .
[24,] . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . . .
[25,] . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . . .
[26,] . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . . .
[27,] . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . . .
[28,] . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . . .
[29,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . . .
[30,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . . .
[31,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . . .
[32,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 . .
[33,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1 .
[34,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1
>
>
> ## From tools
>
> library(tools)
> ## there are few dependencies in a vanilla R installation:
> ## lattice may not be installed
> ## Avoid possibly large list from R_HOME/site-library, which --vanilla includes.
> dependsOnPkgs("lattice", lib.loc = .Library)
[1] "Matrix" "nlme" "mgcv" "survival"
>
> ## This may not be installed
> gridEx <- system.file("doc", "grid.Rnw", package = "grid")
> vignetteDepends(gridEx)
$Depends
[1] "lattice"
$Installed
[1] "lattice"
$Found
list()
$NotFound
character(0)
$R
[1] "R (>= 3.0.0)"
attr(,"class")
[1] "DependsList"
Warning messages:
1: 'vignetteDepends' is deprecated.
Use 'vignetteInfo()$depends or package_dependencies()' instead.
See help("Deprecated")
2: 'getDepList' is deprecated.
Use 'dependsOnPkgs() or package_dependencies()' instead.
See help("Deprecated")
3: 'package.dependencies' is deprecated.
Use 'package_dependencies' instead.
See help("Deprecated")
>