टी एल में असंगत आयाम त्रुटि vglm समारोह; डॉआर: VGAM
मैं आर में VGAM पैकेज के साथ Tobit प्रतिगमन चला रहा हूँ - यहाँ एक खिलौना डाटासेट कि है लगातार मुझे एक त्रुटि दे रही है कि मैं निदान करने के लिए नहीं कर पाए हैं:
library(data.table)
library(VGAM)
> sessionInfo()$otherPkgs
$VGAM
Package: VGAM
Version: 0.9-7
Date: 2015-03-06
... <ommitted> ...
reg_data <- structure(list(S = c(1.83271488441825, 0.75411550370994, 0.904938604451928,
0.75411550370994, 0.75411550370994), H = c(0.6429, 0.7788,
0.6292, 0.8892, 0.2035), W= c(1.52497, 1.1391, 1.59722,
1.8406, 1.01865)), .Names = c("S", "H", "W"), class = c("data.table",
"data.frame"), row.names = c(NA, -5L))
minS <- 0.75411550370994
maxS <- 1.83271488441825
m <- vglm(S ~ H, tobit(Upper = maxS, Lower = minS), weights = W, data = reg_data)
Error in lm.wfit(x = cbind(x[!use.i11, ]), y = y[!use.i11, ii], w = w[!use.i11, :
incompatible dimensions
प्रयास का निदान करने के
01,235,ट्रैस बैक के साथ:
> traceback()
6: stop("incompatible dimensions")
5: lm.wfit(x = cbind(x[!use.i11, ]), y = y[!use.i11, ii], w = w[!use.i11,
ii])
4: eval(expr, envir, enclos)
3: eval(slot(family, "initialize"))
2: vglm.fitter(x = x, y = y, w = w, offset = offset, Xm2 = Xm2,
Ym2 = Ym2, etastart = etastart, mustart = mustart, coefstart = coefstart,
family = family, control = control, constraints = constraints,
criterion = control$criterion, extra = extra, qr.arg = qr.arg,
Terms = mt, function.name = function.name, ...)
1: vglm(y ~ x, tobit(Upper = maxy, Lower = miny), weights = w, data = X)
मैं lm.wfit
के लिए स्रोत कोड देखी और त्रुटि के स्रोत को खोजने की है: vglm
के लिए स्रोत कोड में निम्नलिखित
function (x, y, w, offset = NULL, method = "qr", tol = 1e-07,
singular.ok = TRUE, ...)
{
<ommitted...>
if (NROW(y) != n | length(w) != n)
stop("incompatible dimensions")
<ommitted...>
}
मैं पाया है:
vglm.fitter <- get(method)
fit <- vglm.fitter(x = x, y = y, w = w, offset = offset,
Xm2 = Xm2, Ym2 = Ym2, etastart = etastart, mustart = mustart,
coefstart = coefstart, family = family, control = control,
constraints = constraints, criterion = control$criterion,
extra = extra, qr.arg = qr.arg, Terms = mt, function.name = function.name,
...)
जहां विधि vglm.fit
पर डिफ़ॉल्ट है।
मैं अभी भी यह पता लगाने में सक्षम नहीं हूं कि बहिष्करण मानदंड use.i11
बनाया गया है, यह क्या कर रहा है और इसका वजन वजन, प्रतिद्वंद्वी और regressand के बीच विरोधाभासी आयामों में क्यों होता है।
मैं देखा है कि minS
और maxS
दस या उससे कम एक सफल समय में स्थानों परिणाम के लिए गोलाई, लेकिन इस वजह maxS
बढ़ जाती है तो 1 अवलोकन अब सही सेंसर है और minS
तो 2, 4 वृद्धि हुई है और कर रहा है 5 वें अवलोकन अब सेंसर नहीं छोड़े गए हैं। दोनों अवलोकन के उपचार को अधिकतम संभावना कार्य में बदलते हैं, इसलिए मुझे संदेह है कि मैं झूठे परिणामों के साथ प्रतिगमन को दूषित कर दूंगा।
क्या कोई कृपया निदान करने में सहायता कर सकता है कि इस प्रकार की त्रुटि क्यों होती है?
क्या आपने इस 'minS = 0.75 जैसे मानों को गोल किया था; Maxs = 1.83'? –