Я никогда раньше не замечал такого поведения, но меня удивляют соглашения об именовании выходных данных для сводок по линейной модели.По сути, мой вопрос заключается в том, почему имена строк в сводной линейной модели всегда содержат название столбца, из которого они получены.
Пример
Предположим, у вас есть данные для 300 зрителей фильмаучастники из трех разных городов:
И предположим, что все они были подвергнуты вонючей кучеиз запутанных, загрязненных отходов, которые были Человек-паук 3 .Выдержав всю эту кинематографическую мерзость, их попросили оценить фильм по 100-балльной шкале.
Поскольку все зрители были разумными людьми, все оценки были ниже нуля.(Естественно. Любой, кто видел фильм, согласится.)
Вот как это может выглядеть в R:
> score <- rnorm(n = 300, mean = -50, sd = 10)
> city <- rep(c("Chicago", "Milwaukee", "Dayton"), times = 100)
> spider.man.3.sucked <- data.frame(score, city)
> head(spider.man.3.sucked)
score city
1 -64.57515 Chicago
2 -50.51050 Milwaukee
3 -56.51409 Dayton
4 -45.55133 Chicago
5 -47.88686 Milwaukee
6 -51.22812 Dayton
Отлично.Итак, давайте запустим быструю линейную модель, присвоим ей lm1
и получим ее итоговый вывод:
> lm1 <- lm(score ~ city, data = spider.man.3.sucked)
> summary(lm1)
Call:
lm(formula = score ~ city, data = spider.man.3.sucked)
Residuals:
Min 1Q Median 3Q Max
-29.8515 -6.1090 -0.4745 6.0340 26.2616
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -51.3621 0.9630 -53.337 <2e-16 ***
cityDayton 1.1892 1.3619 0.873 0.383
cityMilwaukee 0.8288 1.3619 0.609 0.543
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 9.63 on 297 degrees of freedom
Multiple R-squared: 0.002693, Adjusted R-squared: -0.004023
F-statistic: 0.4009 on 2 and 297 DF, p-value: 0.6701
Что меня беспокоит
Часть, которую я хочу выделить, такова:
cityDayton 1.1892 1.3619 0.873 0.383
cityMilwaukee 0.8288 1.3619 0.609 0.543
Похоже, что R разумно сцепил имя столбца (city
, если вы помните сверху) с отличным значением (в данном случае Dayton
или Milwaukee
).Если я не хочу, чтобы R выводил в этом формате, есть ли способ переопределить его?Например, в моем случае все, что мне нужно, это просто:
Dayton 1.1892 1.3619 0.873 0.383
Milwaukee 0.8288 1.3619 0.609 0.543
Два вопроса в одном
Итак,
- Что контролирует форматвывод для строк итоговой линейной модели и
- Можно / нужно изменить?