Ошибка среды при попытке использовать переопределенный ggplot::qplot()
Во избежание необходимости звонить print()
для отображения графического вывода, произведенного ggplot2::qplot
Я использовал ответ @cbeleites на этот SO вопрос: qplot ggplot не выполняется при поиске. Однако попытка запустить сценарий приводит к следующей ошибке:
Error in exists(name, envir = env, mode = mode) : argument "env" is missing, with no default
Вот результат трассировки:
11 exists(name, envir = env, mode = mode)
10 find_global(scale_name, env, mode = "function")
9 scales_add_missing(plot, c("x", "y"))
8 ggplot_build(x)
7 print.ggplot(p)
6 print(p) at graphics.R#15
5 qplot(data[["Project Age"]], data = data, geom = "histogram", binwidth = 1) at edaSourceForge.R#8
4 eval(expr, envir, enclos)
3 eval(ei, envir)
2 withVisible(eval(ei, envir))
1 source("~/diss-floss/analysis/edaSourceForge.R")
Наконец, дополнительная заметка о том, как я запускаю скрипт. Я считаю, что это важно, так как считаю, что ошибка связана с отсутствием видимости конкретной среды R. Я запускаю скрипт analysis/edaSourceForge.R
в RStudio, с текущим рабочим каталогом import
:
source('~/diss-floss/analysis/edaSourceForge.R')
Это не кажется проблемой IMHO, так как относительные пути к пользовательским qplot()
из рабочего каталога и из сопоставления вызывающего модуля ("../utils/graphics.R"), но, конечно, я могу ошибаться.
Структура каталогов моего проекта (~ is ruser
домашний каталог):
+- ~/diss-floss (Project's root)
|- ...
|- import (current working directory)
|- analysis (edaSourceForge.R)
|- utils (graphics.R)
|- ...
Функция переопределения для ggplot::qplot
находится в graphics.R
модуль:
qplot <- function (x, y = NULL, z = NULL, ...) {
p <- ggplot2::qplot (x = x, y = y, z = z, ...)
print (p)
}
Актуальный вызов пользовательскому qplot
функция находится в edaSourceForge.R
модуль
if (!suppressMessages(require(ggplot2))) install.packages('ggplot2')
source("../utils/graphics.R")
Поскольку, как я уже сказал, я думал, что ошибка связана с невозможностью найти определенную R-среду, я пытался использовать различные R-функции, связанные со средой, но пока это не помогло.
Ваша помощь и совет будут высоко оценены, как всегда!