当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R broom tidy.geeglm 整理 a(n) geeglm 对象


Tidy 总结了有关模型组件的信息。模型组件可能是回归中的单个项、单个假设、聚类或类。 tidy 所认为的模型组件的确切含义因模型而异,但通常是不言而喻的。如果模型具有多种不同类型的组件,您将需要指定要返回哪些组件。

用法

# S3 method for geeglm
tidy(x, conf.int = FALSE, conf.level = 0.95, exponentiate = FALSE, ...)

参数

x

从调用 geepack::geeglm() 返回的 geeglm 对象。

conf.int

逻辑指示是否在整理的输出中包含置信区间。默认为 FALSE

conf.level

用于置信区间的置信水平(如果 conf.int = TRUE )。必须严格大于 0 且小于 1。默认为 0.95,对应于 95% 的置信区间。

exponentiate

逻辑指示是否对系数估计值取幂。这对于逻辑回归和多项回归来说是典型的,但如果没有 log 或 logit 链接,那么这是一个坏主意。默认为 FALSE

...

附加参数。不曾用过。仅需要匹配通用签名。注意:拼写错误的参数将被吸收到 ... 中,并被忽略。如果拼写错误的参数有默认值,则将使用默认值。例如,如果您传递 conf.lvel = 0.9 ,所有计算将使用 conf.level = 0.95 进行。这里有两个异常:

  • tidy() 方法在提供 exponentiate 参数时会发出警告(如果该参数将被忽略)。

  • augment() 方法在提供 newdata 参数时会发出警告(如果该参数将被忽略)。

细节

如果 conf.int = TRUE ,则使用内部 confint.geeglm() 函数计算置信区间。

如果模型数据中存在缺失值,则可能需要使用 na.action = na.exclude 重新拟合模型或预先处理数据中的缺失值。

也可以看看

带有列的 tibble::tibble()

conf.high

估计置信区间的上限。

conf.low

估计置信区间的下限。

estimate

回归项的估计值。

p.value

与观察到的统计量相关的两侧 p 值。

statistic

在回归项非零的假设中使用的 T-statistic 的值。

std.error

回归项的标准误差。

term

回归项的名称。

例子


# load modeling library
library(geepack)

# load data
data(state)


ds <- data.frame(state.region, state.x77)

# fit model
geefit <- geeglm(Income ~ Frost + Murder,
  id = state.region,
  data = ds, family = gaussian,
  corstr = "exchangeable"
)
#> $fct
#> function (dose, parm) 
#> {
#>     parmMat <- matrix(parmVec, nrow(parm), numParm, byrow = TRUE)
#>     parmMat[, notFixed] <- parm
#>     fd(dose, parmMat[, 1], parmMat[, 2], parmMat[, 3], parmMat[, 
#>         4], parmMat[, 5])
#> }
#> <bytecode: 0x55e23e706478>
#> <environment: 0x55e24e6f80a0>
#> 
#> $ssfct
#> function (dframe) 
#> {
#>     x <- dframe[, 1]
#>     y <- dframe[, 2]
#>     cdVal <- findcd(x, y)
#>     if (useFixed) {
#>     }
#>     if (logg) {
#>         bVal <- 0.75 * sd(log(x[y > quantile(y, 0.75)]))
#>     }
#>     else {
#>         bVal <- 0.75 * sd(x[y > quantile(y, 0.75)])
#>     }
#>     befVal <- c(bVal, x[which.max(y)], 1)
#>     return(c(befVal[1], cdVal, befVal[2:3])[is.na(fixed)])
#> }
#> <bytecode: 0x55e2489927a8>
#> <environment: 0x55e24e6f8ca8>
#> 
#> $names
#> [1] "b" "c" "d" "e" "f"
#> 
#> $deriv1
#> function (dose, parm) 
#> {
#>     parmMat <- matrix(parmVec, nrow(parm), numParm, byrow = TRUE)
#>     parmMat[, notFixed] <- parm
#>     attr(fd(dose, parmMat[, 1], parmMat[, 2], parmMat[, 3], parmMat[, 
#>         4], parmMat[, 5]), "gradient")[, notFixed]
#> }
#> <bytecode: 0x55e23e703950>
#> <environment: 0x55e24e6f80a0>
#> 
#> $deriv2
#> NULL
#> 
#> $derivx
#> function (dose, parm) 
#> {
#>     parmMat <- matrix(parmVec, nrow(parm), numParm, byrow = TRUE)
#>     parmMat[, notFixed] <- parm
#>     dFct <- function(dose, b, c, d, e, f) {
#>         .expr1 <- d - c
#>         .expr4 <- (dose - e)/b
#>         .expr5 <- .expr4^2
#>         .expr6 <- sqrt(.expr5)
#>         .expr9 <- exp(-0.5 * .expr6^f)
#>         .value <- c + .expr1 * .expr9
#>         .grad <- array(0, c(length(.value), 1L), list(NULL, c("dose")))
#>         .grad[, "dose"] <- -(.expr1 * (.expr9 * (0.5 * (.expr6^(f - 
#>             1) * (f * (0.5 * (2 * (1/b * .expr4) * .expr5^-0.5)))))))
#>         attr(.value, "gradient") <- .grad
#>         .value
#>     }
#>     attr(dFct(dose, parmMat[, 1], parmMat[, 2], parmMat[, 3], 
#>         parmMat[, 4], parmMat[, 5]), "gradient")
#> }
#> <bytecode: 0x55e23e701d40>
#> <environment: 0x55e24e6f80a0>
#> 
#> $edfct
#> function (parm, respl, reference, type, ...) 
#> {
#>     parmVec[notFixed] <- parm
#>     p <- absToRel(parmVec, abs(respl), type)
#>     if (identical(type, "absolute")) {
#>         p <- 100 - p
#>     }
#>     if (identical(type, "relative") && (parmVec[1] < 0) && (reference == 
#>         "control")) {
#>         p <- 100 - p
#>     }
#>     pProp <- 1 - (100 - p)/100
#>     EDfct <- function(b, c, d, e, f) {
#>         .expr2 <- -2 * log(pProp)
#>         .expr4 <- sign(respl) * .expr2^(1/f)
#>         .value <- b * .expr4 + e
#>         .grad <- array(0, c(length(.value), 5L), list(NULL, c("b", 
#>             "c", "d", "e", "f")))
#>         .grad[, "b"] <- .expr4
#>         .grad[, "c"] <- 0
#>         .grad[, "d"] <- 0
#>         .grad[, "e"] <- 1
#>         .grad[, "f"] <- -(b * (.expr4 * (log(.expr2) * (1/f^2))))
#>         attr(.value, "gradient") <- .grad
#>         .value
#>     }
#>     EDp <- EDfct(parmVec[1], parmVec[2], parmVec[3], parmVec[4], 
#>         parmVec[5])
#>     EDder <- attr(EDfct(parmVec[1], parmVec[2], parmVec[3], parmVec[4], 
#>         parmVec[5]), "gradient")
#>     return(list(EDp, EDder[notFixed]))
#> }
#> <bytecode: 0x55e23e6f8b78>
#> <environment: 0x55e24e6f80a0>
#> 
#> $name
#> [1] "family"
#> 
#> $text
#> [1] "Gaussian"
#> 
#> $noParm
#> [1] 5
#> 
#> $lowerAs
#> function (parm) 
#> {
#>     parmVec[indexVec] <- parm
#>     parmVec[parmNo]
#> }
#> <bytecode: 0x55e23be053c0>
#> <environment: 0x55e2580f7488>
#> 
#> $upperAs
#> function (parm) 
#> {
#>     parmVec[indexVec] <- parm
#>     parmVec[parmNo]
#> }
#> <bytecode: 0x55e23be053c0>
#> <environment: 0x55e2580f76f0>
#> 
#> $monoton
#> [1] NA
#> 
#> $fixed
#> [1] NA NA NA NA NA
#> 
#> attr(,"class")
#> [1] "gaussian"
#> Error in glm(formula = Income ~ Frost + Murder, family = gaussian, data = ds): 'family' not recognized

# summarize model fit with tidiers
tidy(geefit)
#> Error in eval(expr, envir, enclos): object 'geefit' not found
tidy(geefit, conf.int = TRUE)
#> Error in eval(expr, envir, enclos): object 'geefit' not found

相关用法


注:本文由纯净天空筛选整理自大神的英文原创作品 Tidy a(n) geeglm object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。