# context("prop.test()")
TestData <- data.frame( a = factor(rep(letters[1:3], length.out=100)),
b = rep(letters[1:3], length.out=100),
c = rep(c(TRUE, FALSE, FALSE), length.out=100),
d = rep(c(TRUE, FALSE, FALSE), length.out=100),
stringsAsFactors = FALSE
)
test_that("formulas work", {
X <- stats::prop.test(34, 100)
A <- prop.test(~ a, data=TestData)
B <- prop.test(~ b, data=TestData)
C <- prop.test(~ c, data=TestData)
expect_equal(ignore_attr = TRUE, confint(A), confint(X))
expect_match(A$data.name, "TestData\\$a")
expect_equal(ignore_attr = TRUE, confint(B), confint(X))
expect_match(B$data.name, "TestData\\$b")
expect_equal(ignore_attr = TRUE, confint(C), confint(X))
expect_match(C$data.name, "TestData\\$c")
})
test_that("formulas + unnamed second arg throws error", {
expect_error( prop.test(~ a, TestData), "did you forget")
})
# test_that("formulas work with unnamed second arg", {
#
# X <- stats::prop.test(34, 100)
# A <- prop.test(~ a, TestData)
# B <- prop.test(~ b, TestData)
# C <- prop.test(~ c, TestData)
#
# expect_equal(ignore_attr = TRUE, confint(A), confint(X))
# expect_match(A$data.name, "TestData\\$a")
#
# expect_equal(ignore_attr = TRUE, confint(B), confint(X))
# expect_match(B$data.name, "TestData\\$b")
#
# expect_equal(ignore_attr = TRUE, confint(C), confint(X))
# expect_match(C$data.name, "TestData\\$c")
# })
test_that("success = works", {
X <- stats::prop.test(33, 100)
Y <- stats::prop.test(66, 100)
A <- prop.test(~ a, data=TestData, success = "b")
B <- prop.test(~ b, data=TestData, success = "b")
C <- prop.test(~ c, data=TestData, success = FALSE)
expect_equal(ignore_attr = TRUE, confint(A), confint(X))
expect_match(A$data.name, "TestData\\$a")
expect_match(A$data.name, "success = b")
expect_equal(ignore_attr = TRUE, confint(B), confint(X))
expect_match(B$data.name, "TestData\\$b")
expect_match(B$data.name, "success = b")
expect_equal(ignore_attr = TRUE, confint(C), confint(Y))
expect_match(C$data.name, "TestData\\$c")
expect_match(C$data.name, "success = FALSE")
})
test_that("bare vars throw error", {
expect_error(prop.test(a, data = TestData), "first argument should be a formula")
expect_error(prop.test(b, data = TestData), "first argument should be a formula")
expect_error(prop.test(d, data = TestData), "first argument should be a formula")
})
# test_that("bare vars work", {
# X <- stats::prop.test(34, 100)
# A <- prop.test( a, data=TestData)
# B <- prop.test( b, data=TestData)
# C <- prop.test( c, data=TestData)
#
# expect_equal(ignore_attr = TRUE, confint(A), confint(X))
# expect_match(A$data.name, "a")
# expect_match(A$data.name, "success = a")
#
# expect_equal(ignore_attr = TRUE, confint(B), confint(X))
# expect_match(B$data.name, "b")
# expect_match(B$data.name, "success = a")
#
# expect_equal(ignore_attr = TRUE, confint(C), confint(X))
# expect_match(C$data.name, "c")
# expect_match(C$data.name, "success = TRUE")
# })
test_that("numbers work", {
expect_equal(ignore_attr = TRUE,
confint(stats::prop.test(33, 100)),
confint(prop.test(33, 100))
)
})
test_that("x treated as raw data when n is missing", {
X <- resample(1:3, 100)
x <- sum(X == min(X))
expect_equal(ignore_attr = TRUE,
confint(prop.test(X)),
confint(prop.test(x, 100)) )
})
test_that("tests for multiple proportions", {
smokers <- c( 83, 90, 129, 70 )
patients <- c( 86, 93, 136, 82 )
expect_equal(ignore_attr = TRUE,
stats::prop.test(smokers, patients),
prop.test(smokers, patients)
)
})
test_that("x treated as raw data", {
X <- resample(1:3, 100)
x <- sum(X == min(X))
expect_equal(ignore_attr = TRUE,
confint(prop.test(X)),
confint(prop.test(x, 100)) )
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.