Nothing
# From issue #21
test_that("gnmFit handles linear fit provided optimal starting values", {
Mean <- c(1237.1, 5605.55, 801.45, 2713.55, 570.4, 193.1, 97.2, 11.05,
202.5, 7031.75, 2679.6, 1252.55, 735.6, 4088.05, 9818.7, 4486.45,
3104.85, 1189.3, 217.6, 603.2, 28.45)
VC <- c(33696.08, 296681.045, 24842.205, 31777.205, 1705.28, 950.48,
2693.78, 244.205, 3026.42, 17578.125, 3.92, 8281.845, 1280.18,
76479.605, 4665.78, 130101.005, 0.125, 9800, 18355.28, 1152,
1618.805)
dat <- data.frame(Mean=Mean,VC=VC)
coeffs <- c(beta1 = 4792.94726157285, beta2 = 0.00366035757993686)
# gnm with linear terms (calls glm.fit)
fitglm <- gnm(VC ~ I(Mean^2) , family = Gamma(link = "identity"),
data = data.frame(dat), start=coeffs, trace=TRUE)
# gnm with equivalent "nonlin" term
powfun <- function(x)
{
list(
predictors=list(beta1 = 1, beta2 = 1),
variables=list(substitute(x)),
term=function(predictors,variables){
paste( predictors[1],"+",predictors[2],"*",variables[1],"^2")
}
)
}
class(powfun) <- "nonlin"
form <- VC ~ powfun(Mean)-1
fitgnm <- gnm(formula = form, family = Gamma(link = "identity"),
data = data.frame(dat), start=coeffs, trace=TRUE)
expect_equal(coeffs, fitgnm$coefficients, ignore_attr = TRUE)
# glm always does an extra iteration, even from previously converged fit
expect_equal(coef(fitglm), coef(fitgnm), tolerance = 1e-6,
ignore_attr = TRUE)
})
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.