我在R多變量貝葉斯迴歸(數值變量取決於3個說明因子變量)與MCMCregress
函數MCMCpack package函數運行。R:多變量貝葉斯迴歸與MCMCregress引發錯誤
不幸的是,我的數據集拋出了一個錯誤"Error in eval(expr, envir, enclos) : NA/NaN/Inf in foreign function call (arg 17)"
。
下面是一個例子代碼,再現了我的迴歸任務和錯誤:
require(MCMCpack)
# Function for creation of a reproducable example
set.seed(0)
example.dataframe= function(size) {
y= runif(size, 1, 25)
x1=paste(letters[runif(size, min=1, max=25)])
x2=paste(letters[runif(size, min=1, max=25)])
x3=paste(letters[runif(size, min=1, max=25)])
df= data.frame(y, x1=as.factor(x1), x2=as.factor(x2), x3=as.factor(x3))
df
}
### Bayesian linear regression with small dataset
df= example.dataframe(10)
model <- MCMCregress(y ~ x1 + x2 + x3 - 1, data= df)
# Fails !
# Error in eval(expr, envir, enclos) :
# NA/NaN/Inf in foreign function call (arg 17)
當數據幀是更大的不拋出的錯誤:
### Bayesian linear regression with bigger dataset
df= example.dataframe(100)
model <- MCMCregress(y ~ x1 + x2 + x3 - 1, data= df)
# Works !
summary(model)
# Iterations = 1001:11000
# Thinning interval = 1
# Number of chains = 1
# Sample size per chain = 10000
#
# 1. Empirical mean and standard deviation for each variable,
# plus standard error of the mean:
#
# Mean SD Naive SE Time-series SE
# x1a 5.13964 7.823 0.07823 0.07520
# x1b 14.05264 7.289 0.07289 0.07289
# ...
我一直在尋找進入CRAN documentation of the package但沒有找到明確的錯誤提示,這是因爲。
任何建議爲什麼在第一種情況下拋出錯誤,而不是在第二種情況下拋出錯誤?
你有更多的預測指標比觀察... –
你沒有足夠的自由度來估計任何東西。由於您從超過10個字母的池中繪製10個字母,因此每個x1,x1,x3可以有10個級別。有100個數據點,但稍微好一點。只要嘗試擬合線性模型以瞭解發生了什麼。 – rawr
謝謝,明白了。是否有可能將我的小數據框限制爲可通過迴歸處理的那些行? – user2030503