library(PracTools)
# Model with quantitative covariates
data(hospital)
HOSP <- hospital
HOSP$sqrt.x <- sqrt(HOSP$x)
sam <- sample(nrow(HOSP), 50)
N1 <- HOSP[sam, ]
N2 <- HOSP[-sam, ]
## Create lm object using "known" data; no intercept model
lm.obj <- lm(y ~ 0 + sqrt.x + x, data = N1)
del <- mean(HOSP$y) - mean(HOSP$y) * seq(.6, 1, by=0.05)
SampStop(lm.obj = lm.obj,
formula = ~ 0 + sqrt.x + x,
n1.data = N1,
yvar = "y",
n2.data = N2,
p = seq(0.2, 0.6, by=0.05),
delta = del,
seed = .Random.seed[413])
# Model with factors
data(labor)
sam <- sample(nrow(labor), 50)
n1.vars <- c("WklyWage", "HoursPerWk", "agecat", "sex")
n2.vars <- c("HoursPerWk", "agecat", "sex")
N1 <- labor[sam, n1.vars]
N2 <- labor[-sam, n2.vars]
lm.obj <- lm(WklyWage ~ HoursPerWk + as.factor(agecat) + as.factor(sex), data = labor)
del <- mean(N1$WklyWage) - mean(N1$WklyWage) * seq(.75, .95, by=0.05)
result <- SampStop(lm.obj = lm.obj,
formula = ~ HoursPerWk + as.factor(agecat) + as.factor(sex),
n1.data = N1,
yvar = "WklyWage",
n2.data = N2,
p = seq(0.2, 0.4, by=0.05),
delta = del,
seed = .Random.seed[78])
p.nresp <- paste(result[,1], result[,2], sep=", ")
library(ggplot2)
ggplot2::ggplot(result, aes(result[,4], result[,7], colour = factor(p.nresp) )) +
geom_point() +
geom_line(linewidth=1.1) +
labs(x = "delta", y = "Pr(|e1-e2|<= delta)", colour = "Pr(resp), n.resp")
Run the code above in your browser using DataLab