[英]R: GLM function error with simulated data
我有兩個模擬數據向量,如下所示:
x = rnorm(1000, mean = 0, sd = 1)
eps = rnorm(1000, mean = 0, sd = sqrt(0.25))
我正在嘗試使用引導庫的glm
和cv.glm
function 來擬合線性回歸 model 和多元線性回歸 model 與任一 k 的交叉驗證交叉驗證。 我正在使用的錯誤代碼如下:
> glm.fit=glm(y~x)
> cv.err=cv.glm(x, glm.fit)
Error in if ((K > n) || (K <= 1)) stop("'K' outside allowable range") :
missing value where TRUE/FALSE needed
我確實使用is.na(x)
檢查並確認不存在 null 值。 誰能為此提出解決方案或指出我做錯了什么?
提前致謝。
對於glm()
您可以從環境中獲取x
和y
,但對於 cv.glm 它無法訪問這些對象,因為它在另一個環境下運行。 也許查看這篇文章或這本書的章節
如果我運行你的代碼,我會得到同樣的錯誤:
library(boot)
set.seed(111)
x = rnorm(1000, mean = 0, sd = 1)
y = rnorm(1000, mean = 0, sd = sqrt(0.25))
glm.fit=glm(y~x)
cv.err=cv.glm(x, glm.fit)
Error in if ((K > n) || (K <= 1)) stop("'K' outside allowable range") :
missing value where TRUE/FALSE needed
如果我將它們放入 data.frame 中,它將起作用:
da = data.frame(x=x,y=y)
glm.fit=glm(y~x)
cv.err=cv.glm(da, glm.fit,K=5)
cv.err$delta
[1] 0.2428287 0.2426424
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.