簡體   English   中英

從 rms 中獲取殘差診斷圖 package ols() function

[英]Obtain residual diagnostic plots from rms package ols() function

如何從ols() object 中獲取殘差診斷圖? 通常,如果使用glm()lm() ,我只會執行plot(lm()) ,但plot(ols())會給出錯誤。

我的代碼是:

fit <- ols(y ~ rcs(x1,4)*x2, data=data, x=TRUE, y=TRUE)
plot(fit)

我收到的錯誤信息是

match.arg(type) 錯誤:'arg' 應該是“ordinary”、“score”、“dfbeta”、“dfbetas”、“dffit”、“dffits”、“hat”、“hscore”之一

費力地(但靈活地),您需要計算殘差和估計值(使用resid()和 compatible fitted() )並將它們綁定到您的數據框中,然后使用像 ggplot2 或 lattice 之類的繪圖 package 或 lattice 自己創建圖。 Harrell 在 p 的底部給出了示例。 他的書第 2 版的 153 詳細描述了這個 package 的使用。

作為一種快速而骯臟的替代方案,您可以使用常規函數(例如lm() )擬合一個版本,並且plot()將返回通常的診斷圖。 諸如rcs()之類的東西可以與許多基本擬合函數一起使用。

ols object 確實繼承自lm object,

class(rcsLogFit)
## [1] "ols" "rms" "lm" 

但是我無法讓stats:::lm()在沒有此處指出的錯誤的情況下工作。

一個快速的解決方法是制作一個忘記其rms特定類的副本:

rcsLogCopy <- rcsLogFit
class(rcsLogCopy) <- "lm"

然后

plot(rcsLogCopy)

工作良好。 我想您可以直接在原件上執行此操作。

暫無
暫無

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

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