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


R broom glance.geeglm 浏览 a(n) geeglm 对象


Glance 接受模型对象并返回 tibble::tibble(),其中仅包含一行模型摘要。摘要通常是拟合优度度量、残差假设检验的 p 值或模型收敛信息。

Glance 永远不会返返回自对建模函数的原始调用的信息。这包括建模函数的名称或传递给建模函数的任何参数。

Glance 不计算汇总度量。相反,它将这些计算外包给适当的方法并将结果收集在一起。有时拟合优度测量是不确定的。在这些情况下,该度量将报告为 NA

无论模型矩阵是否秩亏,Glance 都会返回相同的列数。如果是这样,则不再具有明确定义值的列中的条目将使用适当类型的 NA 进行填充。

用法

# S3 method for geeglm
glance(x, ...)

参数

x

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

...

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

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

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

也可以看看

恰好只有一行和一列的 tibble::tibble()

alpha

geepack::geeglm 的估计相关参数。

df.residual

剩余自由度。

gamma

geepack::geeglm 的估计比例参数。

max.cluster.size

簇中的最大元素数。

n.clusters

簇数。

例子


# 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: 0x55e248997420>
#> 
#> $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: 0x55e248990700>
#> 
#> $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: 0x55e248997420>
#> 
#> $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: 0x55e248997420>
#> 
#> $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: 0x55e248997420>
#> 
#> $name
#> [1] "family"
#> 
#> $text
#> [1] "Gaussian"
#> 
#> $noParm
#> [1] 5
#> 
#> $lowerAs
#> function (parm) 
#> {
#>     parmVec[indexVec] <- parm
#>     parmVec[parmNo]
#> }
#> <bytecode: 0x55e23be053c0>
#> <environment: 0x55e24898c0a8>
#> 
#> $upperAs
#> function (parm) 
#> {
#>     parmVec[indexVec] <- parm
#>     parmVec[parmNo]
#> }
#> <bytecode: 0x55e23be053c0>
#> <environment: 0x55e24898c310>
#> 
#> $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

相关用法


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