Обновление :
- .R файлы: опция
source
print.eval=TRUE
приведет к печати результатов оценки, как винтерактивная командная строка.
source("Script.R", print.eval=TRUE)
- .Rnw файлы:
knitr
по умолчанию эмулирует поведениеинтерактивной командной строкиprint
ING.Обратите внимание, что knitr
может быть указано как Sweaving engine также для виньеток пакета R.
Это мой первоначальный ответ.Но обратите внимание, что этот обходной путь теперь ИМХО полностью устарел (и он всегда был хорош только для небольшой ленивой ниши). Это знаменитый FAQ 7.22: Почему решетка / решетчатая графика неработа? .
Для сеточной графики, такой как ggplot2 или lattice, вам необходимо распечатать графический объект, чтобы фактически нарисовать его.
Интерактивно в командной строке это делается автоматически.В любом другом месте (внутри исходных файлов, циклов, функций, фрагментов 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).
Я использую этот подход в виньетках, где я хочу писать код точно так, как его вводит пользователь в интерактивном сеансе.