2016-08-21 2 views
3

Есть ли кто-нибудь, кто знает, если sjp.Int работает для надежных регрессий? Основные работы по построению, но доверительные интервалы не работают? Ошибка =sjPlot для надежной регрессии?

Error in seq.default(from = best$lmin, to = best$lmax, by = best$lstep) : 
'from' must be of length 1 
In addition: Warning messages: 
    1: In min(intdf$conf.low, na.rm = T) : 
    no non-missing arguments to min; returning Inf 
    2: In max(intdf$conf.high, na.rm = T) : 
    no non-missing arguments to max; returning -Inf 

Command я использовал:

fname = rlm(Y ~ X1+X2+X3+X4*X5, data=mydata) 
sjp.int(fname, type="eff", show.ci=TRUE) 

Для типа = "конд", доверительные интервалы работают

ответ

1

Я думаю, что это невозможно. sjp.int(type="eff") использует effects::allEffects() для расчета CI и т. Д. Но эта функция не вычисляет rlm.model CI (возвращает NAs), поэтому sjp.int(rlm.model, type="eff", show.ci=TRUE) не работает. (Код ссылки: summary(effects::allEffects(fname, KR=F))).

[Изменено]

(sjp.int(fname, type="eff")) возвращает data.list и он имеет информацию о se. Но я не думаю, что ценность заслуживает доверия. Если вы хотите нарисовать график sjp.int, я думаю, вам будет полезно использовать predict(rlm.model), потому что predict есть способ лечения rlm.model.

мой пример;

library(ggplot2) 

df <- with(iris, data.frame(Y = Petal.Length,  # example data 
          X1 = Sepal.Length, X2 = Sepal.Width, X3 = Petal.Width)) 

fname <- rlm(Y ~ X1 + X2 * X3, df) 
pred.df <- with(df, data.frame(X1 = mean(X1), 
           X2 = c(min(X2), max(X2)), 
           X3 = rep(seq(min(X3), max(X3), 0.1), each=2))) 

pred.df <- cbind(pred.df, predict(fname, pred.df, interval="confidence")) 
pred.df$X2 <- as.factor(pred.df$X2) 

ggplot(pred.df, aes(x=X3, y=fit, group=X2, colour=X2, fill=X2)) + geom_line() + 
    geom_ribbon(aes(ymin = lwr, ymax = upr, colour=NULL), alpha=0.2) 

enter image description here

+0

Aamzing! Спасибо огромное! Он работает :) – user6121484

+0

Я проверил и сравнил результаты 'predict.rlm()' и 'effects :: allEffects()', и возвращенная стандартная ошибка из пакета эффектов, о котором вы говорили, действительно немного отличается от функции-предсказания , Доверительные интервалы от функции прогнозирования не равны 1,96 времени стандартной ошибке из пакета эффектов, но ~ 1,79 раза ... (поэтому стандартная ошибка для rlm-оценок должна немного отличаться от того, что возвращается эффектами - пакет) – Daniel

Смежные вопросы