как сохранить консоль в R в файл? - PullRequest
1 голос
/ 11 марта 2020

Это снова я, совсем новичок в R, но каким-то образом проверил мой путь к моей диссертации. Я запустил кучу регрессий и превратил их в таблицы, используя Stargazer. Теперь мне нужно поделиться всеми этими результатами (модели glm / их итоги / коэффициенты и доверительные интервалы и таблицы звездного наблюдателя ... в основном все в моей консоли) с моим другом, чтобы обсудить, но я думаю, что должно быть более эффективный способ сделать это, чем 1) сделать скриншот из моей консоли или 2) скопировать и вставить консоль и таким образом испортить форматирование. У кого-нибудь есть совет по этому поводу?

Часть моего кода (остальное только варианты одного и того же материала) приведена ниже на случай, если это будет полезно!

Mod4 <- glm(`HC Annual Total` ~ `state population`
           + Year + `Trump Presidency`, data = thesis.data, family = poisson())
summary(Mod4)

#pulling the coefs out, then add exp for what reason I don't remember
exp(coef(Mod4))

#finding the confidence intervals
exp(confint(Mod4))

#Using stargazer to turn Mod4 into a cleaner table
library(stargazer)

stargazer(Mod4, type="text", dep.var.labels = c("Hate Crimes"),
          covariate.labels = c("State Population", "Year", "Trump Presidency"),
          out = "models.txt")

Ответы [ 3 ]

2 голосов
/ 11 марта 2020

Если вы спешите, вы можете попробовать sink, который может поместить вывод консоли в простой текстовый файл.

sink(file="my_code.txt")

summary(fit <- lm(mpg ~ hp, mtcars))
stargazer::stargazer(fit, type="text")

sink()

my_code.txt можно найти в getwd().

Rmarkdown, как предлагается в комментариях, вероятно, было бы более привлекательным решением.

0 голосов
/ 11 марта 2020

Я думаю, reprex - это промежуточное решение между rmarkdown и sink. Сначала убедитесь, что ваш R-скрипт может быть выполнен без ошибок. Затем используйте следующий код:

library(reprex)
r.file <- "path/to/Rscript/test.R" ## path to your R script file
reprex(input = r.file, outfile = NA)

В каталоге вашего файла сценария R будет создано четыре файла, т.е.

  1. test_reprex.R
  2. test_reprex. html
  3. test_reprex.md
  4. test_reprex.utf8.md

Файлы html и md содержат коды в исходном сценарии R и их вывод. , Вы можете поделиться с кем-то, и они могут видеть вывод без выполнения каких-либо кодов.

Файл html выглядит следующим образом:

enter image description here

0 голосов
/ 11 марта 2020

savehistory() ваш друг:

savehistory(file = "my-code.txt")

Затем вы можете редактировать код по своему желанию.

Или в RStudio вы можете использовать панель истории, копировать и вставлять соответствующие биты в текстовый файл.

Если полный документ rmarkdown является излишним, вы можете попробовать использовать knitr::spin() для скомпилируйте ваш код.

Наконец:

  • В будущем всегда пишите сценарии.

Воспроизводимость лучше всего думать при запуске проекта, а не в качестве дополнения в конце. Гораздо проще запустить тщательно написанный скрипт на консоли, чем превратить ваш извилистый ввод с консоли в полезный скрипт. Хороший рабочий процесс - попробовать несколько вещей на консоли, а затем, когда вы знаете, что делаете, добавьте строку в ваш скрипт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...