當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。