![](/img/trans.png)
[英]Error when using calibrate function for ols model fitted in rms package
[英]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.