簡體   English   中英

R:基本功能無法使用Caper包中的對象

[英]R: Base functions cannot use object from the package Caper

我正在使用caper包進行系統發育分析,其中的回歸函數(使用系統發育獨立的對比)非常crunch crunch功能使用在caper包內部的名為caic的對象。

該模型通過以下方式啟動:

crunchMod <- crunch(y ~ f(x), data = comparison)

當我運行summary(crunchMod)時,會得到與lm()函數生成的摘要相同的格式。

但是,嘗試通過輸入rstandard(crunchMod)開始檢查模型假設時,出現以下錯誤:

Error in UseMethod("rstandard") : 
no applicable method for 'rstandard' applied to an object of class "caic"

通過閱讀第19-20頁的http://cran.r-project.org/web/packages/caper/vignettes/caper.pdf ,我發現plot(crunchMod)使用包裝器可以檢查回歸假設。 但是,這些是圖形檢查:

residuals vs Fitted values
standardized residuals vs theoretical quantities [QQ plot]
sqrt(standardized residuals) vs fitted values [Scale-location]
standardized residuals vs leverage).

有誰知道如何使用我自己的包裝器訪問標准化殘差,或者允許我訪問p值而不是圖形圖像?

這是非常簡單的,但只有在使用crunch().中的第二條if()語句繞了一圈之后才進行crunch(). 查看caic的摘要方法,它只是整個摘要/模型的一部分

> summary.caic
function (object, ...) 
{
    summary(object$mod, ...)
}
<environment: namespace:caper>

您可以看到整個模型的名稱,其中顯示了其余的有用統計信息。

names(summary(crunchMod))
# [1] "call"          "terms"         "residuals"     "coefficients" 
# [5] "aliased"       "sigma"         "df"            "r.squared"    
# [9] "adj.r.squared" "fstatistic"    "cov.unscaled" 

請注意,只有mod部分是從lm()繼承的,您可以使用以下命令檢查出crunchMod對象的所有繼承

> sapply(crunchMod, is)
$contrast.data
[1] "list"   "vector"

$mod
[1] "lm"       "oldClass"

$data
[1] "comparative.data"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM