Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: R-glmscore
Fetching contributors…

Cannot retrieve contributors at this time

115 lines (93 sloc) 3.091 kB
### Regression tests for which the printed output is the issue
### May fail, e.g. by needing Recommended packages
postscript("reg-tests-3.ps")
## str() for character & factors with NA (levels), and for Surv objects:
ff <- factor(c(2:1, NA), exclude = NULL)
str(levels(ff))
str(ff)
str(ordered(ff, exclude=NULL))
if(require(survival)) {
(sa <- Surv(aml$time, aml$status))
str(sa)
detach("package:survival")
}
## were different, the last one failed in 1.6.2 (at least)
## lm.influence where hat[1] == 1
if(require(MASS)) {
fit <- lm(formula = 1000/MPG.city ~ Weight + Cylinders + Type + EngineSize + DriveTrain, data = Cars93)
print(lm.influence(fit))
## row 57 should have hat = 1 and resid=0.
summary(influence.measures(fit))
}
## only last two cols in row 57 should be influential
## PR#6640 Zero weights in plot.lm
if(require(MASS)) {
fm1 <- lm(time~dist, data=hills, weights=c(0,0,rep(1,33)))
plot(fm1)
}
## gave warnings in 1.8.1
## PR#7829 model.tables & replications
if(require(MASS)) {
oats.aov <- aov(Y ~ B + V + N + V:N, data=oats[-1,])
model.tables(oats.aov, "means", cterms=c("N", "V:N"))
}
## wrong printed output in 2.1.0
## drop1 on weighted lm() fits
if(require(MASS)) {
hills.lm <- lm(time ~ 0 + dist + climb, data=hills, weights=1/dist^2)
print(drop1(hills.lm))
print(stats:::drop1.default(hills.lm))
hills.lm2 <- lm(time/dist ~ 1 + I(climb/dist), data=hills)
drop1(hills.lm2)
}
## quoted unweighted RSS etc in 2.2.1
## tests of ISO C99 compliance (Windows fails without a workaround)
sprintf("%g", 123456789)
sprintf("%8g", 123456789)
sprintf("%9.7g", 123456789)
sprintf("%10.9g", 123456789)
sprintf("%g", 12345.6789)
sprintf("%10.9g", 12345.6789)
sprintf("%10.7g", 12345.6789)
sprintf("%.7g", 12345.6789)
sprintf("%.5g", 12345.6789)
sprintf("%.4g", 12345.6789)
sprintf("%9.4g", 12345.6789)
sprintf("%10.4g", 12345.6789)
## Windows used e+008 etc prior to 2.3.0
## weighted glm() fits
if(require(MASS)) {
hills.glm <- glm(time ~ 0 + dist + climb, data=hills, weights=1/dist^2)
print(AIC(hills.glm))
print(extractAIC(hills.glm))
print(drop1(hills.glm))
stats:::drop1.default(hills.glm)
}
## wrong AIC() and drop1 prior to 2.3.0.
## calculating no of signif digits
print(1.001, digits=16)
## 2.4.1 gave 1.001000000000000
## 2.5.0 errs on the side of caution.
## as.matrix.data.frame with coercion
library(survival)
soa <- Surv(1:5, c(0, 0, 1, 0, 1))
df.soa <- data.frame(soa)
as.matrix(df.soa) # numeric result
df.soac <- data.frame(soa, letters[1:5])
as.matrix(df.soac) # character result
## failed in 2.8.1
## wish of PR#13505
utils::data(npk, package="MASS")
npk.aov <- aov(yield ~ block + N * P + K, npk)
foo <- proj(npk.aov)
cbind(npk, foo)
## failed in R < 2.10.0
if(require("Matrix")) {
print(cS. <- contr.SAS(5, sparse = TRUE))
stopifnot(all(contr.SAS(5) == cS.),
all(contr.helmert(5, sparse = TRUE) == contr.helmert(5)))
}
## regression tests for dimnames (broken on 2009-07-31)
contr.sum(4)
contr.helmert(4)
contr.sum(2) # needed drop=FALSE at one point.
Jump to Line
Something went wrong with that request. Please try again.