Обновление:
- Файлы .R: параметр
source
print.eval=TRUE
приведет к печати результатов оценки, как в интерактивной командной строке.
source("Script.R", print.eval=TRUE)
- Файлы .Rnw:
knitr
по умолчанию эмулирует поведение интерактивной командной строки относительно. print
инг. Обратите внимание, что knitr
можно указать как Sweaving Engine также для виньеток пакета R.
Это мой первоначальный ответ. Но обратите внимание, что этот обходной путь, ИМХО, сейчас полностью устарел (и он всегда был хорош только для небольшой ленивой ниши).
Это знаменитый FAQ. 7.22: Почему не работает решетчатая/решетчатая графика?.
Для графики сетки, такой как ggplot2 или решетка, вам нужно распечатать графический объект, чтобы на самом деле нарисовать его.
В интерактивном режиме в командной строке это делается автоматически. В любом другом месте (внутри исходных файлов, циклов, функций, фрагментов Sweave) вам нужно распечатать его явно.
print (qplot (1 : 10, 1 : 10))
Кроме того, вы можете переопределить qplot
для печати:
qplot <- function (x, y = NULL, z = NULL, ...) {
p <- ggplot2::qplot (x = x, y = y, z = z, ...)
print (p)
}
(это меняет метки осей на x и y).
Я использую этот подход в виньетках, где я хочу написать код точно так, как его напечатал бы пользователь в интерактивном сеансе.
person
cbeleites unhappy with SX
schedule
13.07.2011