簡體   English   中英

R:GLM function 錯誤與模擬數據

[英]R: GLM function error with simulated data

我有兩個模擬數據向量,如下所示:

x = rnorm(1000, mean  = 0, sd = 1)

eps = rnorm(1000, mean = 0, sd = sqrt(0.25))

我正在嘗試使用引導庫的glmcv.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()您可以從環境中獲取xy ,但對於 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.

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