![](/img/trans.png)
[英]Subscript out of bounds error when scraping using an xpath with the rvest package
[英]“Subscript out of bounds” when using effects package
我正在使用effects包構建一些概率圖,以顯示邏輯回歸模型中的預測概率。但是,我收到一條奇怪的錯誤消息,卻不知道問題出在哪里。
當我嘗試生成圖時,出現以下錯誤。 警告不是問題,是因為我不明白錯誤消息告訴我的內容。
library(effects)
dat$won_ping = as.factor(dat$won_ping)
mod2 = glm(won_ping ~ our_bid +
age_of_oldest_driver2 +
credit_type2 +
coverage_type2 +
home_owner2 +
vehicle_driver_score +
currently_insured2 +
zipcode2,
data=dat, family=binomial(link="logit"))
> plot(effect("our_bid*vehicle_driver_score", mod2), rescale.axis=FALSE, multiline=TRUE)
Warning message:
In analyze.model(term, mod, xlevels, default.levels) :
our_bid:vehicle_driver_score does not appear in the model
Error in plot(effect("our_bid*vehicle_driver_score", mod2), rescale.axis = FALSE, :
error in evaluating the argument 'x' in selecting a method for function 'plot': Error in apply(mod.matrix[, components], 1, prod) :
subscript out of bounds
這是我的數據和glm命令的信息:
> str(dat)
'data.frame': 85240 obs. of 71 variables:
$ our_bid : num 155 123 183 98 108 159 98 123 98 200 ...
$ won_ping : Factor w/ 2 levels "0","1": 1 1 2 1 1 1 1 1 1 1 ...
$ zipcode2 : Factor w/ 4 levels "1:6999","10000:14849",..: 4 3 2 1 3 2 3 1 2 2 ...
$ age_of_oldest_driver2 : Factor w/ 4 levels "18 to 21","22 to 25",..: NA 3 NA NA NA NA 3 NA 3 NA ...
$ currently_insured2 : Factor w/ 2 levels "0","1": 2 1 2 2 1 1 2 2 1 1 ...
$ credit_type2 : Ord.factor w/ 4 levels "POOR"<"FAIR"<..: 2 3 2 3 2 2 1 3 3 2 ...
$ coverage_type2 : Factor w/ 4 levels "BASIC","MINIMUM",..: 4 3 3 3 3 3 3 3 4 3 ...
$ home_owner2 : Factor w/ 2 levels "0","1": 1 2 2 2 2 2 2 2 2 2 ...
$ vehicle_driver_score : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
最后,這可能是一些有用的信息:
> sessionInfo()
R version 2.14.0 (2011-10-31)
Platform: x86_64-pc-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] grid stats graphics grDevices utils datasets methods base
other attached packages:
[1] effects_2.2-1 colorspace_1.1-1 nnet_7.3-1 MASS_7.3-16 lattice_0.20-0 foreign_0.8-46
loaded via a namespace (and not attached):
[1] tools_2.14.0
救命! 錯誤消息是什么意思? 通常,如果“下標超出范圍”,那意味着我正在選擇該數據結構范圍之外的內容,但這根本不會發生。
編輯:
到@Rowland
如前所述,警告和錯誤消息是相互獨立且無關的。 假設我取出zipcode2並運行glm:
mod2 = glm(won_ping ~ our_bid +
age_of_oldest_driver2 +
credit_type2 +
coverage_type2 +
home_owner2 +
vehicle_driver_score +
currently_insured2,
data=dat, family=binomial(link="logit"))
> plot(effect("our_bid*home_owner2", mod2), rescale.axis=FALSE, multiline=TRUE)
Warning message:
In analyze.model(term, mod, xlevels, default.levels) :
our_bid:home_owner2 does not appear in the model
這只會產生警告,這在我得到期望的結果時很好。 因此,“ : ”未出現在模型中的事實不是問題,並且不會導致錯誤消息。
嘗試這個:
with(dat, table(our_bid, vehicle_driver_score))
我懷疑您有一些沒有人居住的牢房。 通過您的編輯,我想假設的稀疏性似乎不太可能,因為問題在於這兩個變量。 盡管使用大量這些因素變量構建模型,但是盡管您的情況很多,但仍然有可能存在空單元格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.