Проблема:
Следующий код:
lm(mpg ~ factor(am), data = mtcars)
Должен выдать следующий вывод (назовем его вывод 1), который я получаю при запуске из скрипта r в R Studio:
Call:
lm(formula = mpg ~ factor(am), data = mtcars)
Coefficients:
(Intercept) factor(am)1
17.147 7.245
Однако я "иногда" получаю другой вывод с этим точно таким же кодом, если я запускаю его из файла Rmd (также в R Studio). Давайте назовем этот вывод 2:
Call:
lm(formula = mpg ~ factor(am), data = mtcars)
Coefficients:
(Intercept) factor(am)1
20.770 -3.622
Если после получения вывода 2 из файла Rmd я go вернусь к сценарию R, то я продолжу получать вывод 2 вместо вывода 1 и единственный способ Чтобы снова получить выходные данные 1, нужно закрыть R Studio и снова открыть только сценарий R.
Почему для меня имеет смысл вывод 1?
17,147 - это средняя миль на галлон Группа автомобилей с автоматической коробкой передач c (референтная группа) и 7.245 - это увеличение средней мили на галлон группы автомобилей с механической коробкой передач (что составляет 24,392).
Это может быть подтверждено с помощью:
tapply(mtcars$mpg, mtcars$am, mean)
0 1
17.14737 24.39231
Что я нахожу странным с выводом 2?
Кроме того, это результат, отличный от точно такая же командная строка, 20.770 на самом деле ничего мне не говорит ( я считаю ). Несмотря на то, что он близок к средней миль на галлон всего образца, это не совсем так. Если взять -3,622 вместе с 20,770, то получится 17,147, что является средней скоростью группы автомобилей с автоматической коробкой передач c, а добавление 3,622 к 20,770 - это 24,392, что является средней скоростью группы автомобилей с механическая коробка передач.
Несмотря на то, что выход 2 отличается от выхода 1 и несовместим, потому что я никогда не знаю, какой из них я получу, я не видел третьего или более вариантов.
Дополнительно подробнее:
Я не загружаю ни пакеты, ни запускаю дополнительные командные строки в любом случае.
Набор данных mtcars входит в базовую версию R.
У меня R версии 3.6 .3, R Studio версии 1.2.5033 и Windows 10.