Nothing
library(gasfluxes)
context("fitting checks")
test_that("linear regression gives expected result", {
t <- c(0, 1/3, 2/3, 1)
C <- c(320, 341, 352, 359)
fit <- lin.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, structure(list(f0 = 11.52, f0.se = 2.02849698052524, f0.p = 0.0296345042190038,
C0 = 323.8, AIC = 27.5179162394956, AICc = Inf, RSE = 5.03984126734168,
r = 0.970365495780996, diagnostics = ""),
.Names = c("f0", "f0.se", "f0.p", "C0", "AIC", "AICc", "RSE", "r","diagnostics")), tolerance = 1e-5)
C <- 320 + 0:3 * 10
expect_equal(lin.fit(t, C, 1, 0.3, "a", verbose = FALSE)$diagnostics, "essentially perfect fit: summary may be unreliable")
})
test_that("robust linear regression gives expected result", {
skip_on_cran() #no idea why this test doesn't pass on winbuilder (Win Server 2008)
t <- c(0, 1/3, 2/3, 1)
C <- c(320, 341, 352, 359)
fit <- rlin.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, structure(list(f0 = 11.52, f0.se = 2.02849698052524, f0.p = 0.0296345042190038,
C0 = 323.8, weights = c(1, 1, 1, 1), diagnostics = ""),
.Names = c("f0", "f0.se", "f0.p", "C0", "weights", "diagnostics")), tolerance = 1e-5)
C[2] <- 400
fit <- rlin.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, structure(list(f0 = 10.3651999807438, f0.se = 7.74617801784988,
f0.p = 0.283145377159807, C0 = 328.932444530028,
weights = c(1, 0.224712479154538, 1, 1), diagnostics = ""),
.Names = c("f0", "f0.se", "f0.p", "C0", "weights", "diagnostics")), tolerance = 1e-5)
C <- 320 + 0:3 * 10
fit <- rlin.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, structure(list(f0 = 9, f0.se = 5.05560019475045e-16, f0.p = 3.15544362088405e-33,
C0 = 320, weights = c(1, 1, 1, 1), diagnostics = ""),
.Names = c("f0", "f0.se", "f0.p", "C0", "weights", "diagnostics")))
})
test_that("HMR regression gives expected result", {
skip_on_cran() #slightly different SE/p value on winbuilder
#doesn't return NA on winbuilder
t <- c(0, 1/3, 2/3, 1, 1.2, 1.3)
C <- c(320, 341, 352, 359, 360, 360)
fit <- HMR.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, list(f0 = 26.1229339419655, f0.se = 1.60625294868361, f0.p = 0.000505786166225468,
kappa = 1.97015450227329, phi = 364.122024254071, AIC = 17.4284243644314,
AICc = 57.4284243644314, RSE = 0.750764759562218, diagnostics = ""), tolerance = 1e-7)
C[2] <- 500
fit <- HMR.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, structure(list(f0 = NA_real_, f0.se = NA_real_, f0.p = NA_real_,
kappa = NA_real_, phi = NA_real_, AIC = NA_real_, AICc = NA_real_,
RSE = NA_real_, diagnostics = "singular gradient"),
.Names = c("f0", "f0.se", "f0.p", "kappa", "phi", "AIC", "AICc", "RSE", "diagnostics"
)))
C <- 320 + 0:3 * 10
fit <- HMR.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, structure(list(f0 = NA_real_, f0.se = NA_real_, f0.p = NA_real_,
kappa = NA_real_, phi = NA_real_, AIC = NA_real_, AICc = NA_real_,
RSE = NA_real_, diagnostics = "'qr' and 'y' must have the same number of rows"),
.Names = c("f0", "f0.se", "f0.p", "kappa", "phi", "AIC", "AICc", "RSE", "diagnostics"
)))
})
test_that("NDFE regression gives expected result", {
skip_on_cran() #slightly different flux/SE/p/tau value on winbuilder
t <- c(0, 1/3, 2/3, 1)
C <- c(320, 341, 352, 359)
fit <- NDFE.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, structure(list(f0 = 108.747818996036, f0.se = 62.9208765449726,
f0.p = 0.333927030887926, tau = 0.0111016600093449, C0 = 319.992148880558,
AIC = 10.7342239838649, AICc = NA_real_, RSE = 0.681122330960559,
diagnostics = ""), .Names = c("f0", "f0.se", "f0.p", "tau",
"C0", "AIC", "AICc", "RSE", "diagnostics")), tolerance = 1e-5)
C[2] <- 400
fit <- NDFE.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, structure(list(f0 = NA_real_, f0.se = NA_real_, f0.p = NA_real_,
tau = NA_real_, C0 = NA_real_, AIC = NA_real_, AICc = NA_real_,
RSE = NA_real_, diagnostics = "Missing value or an infinity produced when evaluating the model"),
.Names = c("f0", "f0.se", "f0.p", "tau", "C0", "AIC", "AICc", "RSE", "diagnostics"
)))
C <- 320 + 0:3 * 10
fit <- NDFE.fit(t, C, 1, 0.3, "a", verbose = FALSE)
expect_equal(fit, structure(list(f0 = NA_real_, f0.se = NA_real_, f0.p = NA_real_,
tau = NA_real_, C0 = NA_real_, AIC = NA_real_, AICc = NA_real_,
RSE = NA_real_, diagnostics = "step factor 5.82077e-11 reduced below 'minFactor' of 1e-10"),
.Names = c("f0", "f0.se", "f0.p", "tau", "C0", "AIC", "AICc", "RSE", "diagnostics"
)))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.