2017-01-10 3 views
0

Как-то моя функция summary() перестала работать для выходов регрессии lm. Чтобы продемонстрировать эту проблему и сообщение об ошибке, что я получаю, я запустить пример регрессию от «ого?»:R lm summary error

ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) 
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) 
group <- gl(2, 10, 20, labels = c("Ctl","Trt")) 
weight <- c(ctl, trt) 
lm.D9 <- lm(weight ~ group) 
lm.D90 <- lm(weight ~ group - 1) # omitting intercept 

anova(lm.D9) 
Analysis of Variance Table 

Response: weight 
      Df Sum Sq Mean Sq F value Pr(>F) 
group  1 0.6882 0.68820 1.4191 0.249 
Residuals 18 8.7292 0.48496    
summary(lm.D90) 
Error in summary.lm(lm.D90) : 
    length of 'dimnames' [1] not equal to array extent 
In addition: Warning message: 
In cbind(est, se, tval, 2 * pt(abs(tval), rdf, lower.tail = FALSE)) : 
    number of rows of result is not a multiple of vector length (arg 1) 

opar <- par(mfrow = c(2,2), oma = c(0, 0, 1.1, 0)) 
plot(lm.D9, las = 1)  # Residuals, Fitted, ... 
par(opar) 

Сообщения об ошибке появляется также для других лх команд, для которых я получил краткий вывод в прошлом, но от одной секунды до другой R только дать мне теперь выше сообщение об ошибке.

Даже если я перезапущу студию R или мой компьютер, появится сообщение об ошибке. Есть ли у кого-нибудь предложение, почему это может быть так? Любая помощь очень ценится.

+0

Привет и добро пожаловать на SO. может быть, дать нам код, генерирующий указанное выше сообщение об ошибке? и некоторые примеры данных для ввода? –

+0

Измените свой вопрос, чтобы добавить пример. – Roland

+1

Возможно, у вас есть RStudio, чтобы сохранить сеанс. Попробуйте Session> Clear Workspace (убедитесь, что флажок установлен), затем Session> Restart R и Clear Output. Вы также можете запустить 'sessionInfo()' и опубликовать результаты? –

ответ

0

Это было работать на моей машине так:

ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) 
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) 
group <- gl(2, 10, 20, labels = c("Ctl","Trt")) 
weight <- c(ctl, trt) 
lm.D9 <- lm(weight ~ group) 
lm.D90 <- lm(weight ~ group - 1) # omitting intercept 
anova(lm.D9) 
Analysis of Variance Table 

Response: weight 
      Df Sum Sq Mean Sq F value Pr(>F) group  1 0.6882 0.68820 1.4191 0.249 Residuals 18 8.7292 0.48496    
summary(lm.D90) 

Call: lm(formula = weight ~ group - 1) 

Residuals: 
    Min  1Q Median  3Q  Max 
-1.0710 -0.4938 0.0685 0.2462 1.3690 

Coefficients: 
     Estimate Std. Error t value Pr(>|t|)  groupCtl 5.0320  0.2202 22.85 9.55e-15 *** groupTrt 4.6610  0.2202 21.16 3.62e-14 *** 
--- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.6964 on 18 degrees of freedom Multiple R-squared: 0.9818, Adjusted R-squared: 0.9798 F-statistic: 485.1 on 2 and 18 DF, p-value: < 2.2e-16 
+0

Спасибо Захиро, но когда я применяю резюме (lm.D90), он дает мне сообщение об ошибке выше. Сводка() просто перестала работать на моем компьютере в течение одной секунды с другой ... – Philipp

+0

Вы установили и новые пакеты, возможно, маскировали «резюме» ?? try 'conflict (, TRUE)' –

+0

Ничего, о чем я знаю. – Philipp

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