2015-05-29 2 views
1

Я использую qplot из пакета ggplot2 в knitr для создания графиков для LaTeX. Проблемы заключается в том, что есть какое-то дополнительная проверка срабатывает, который выкладывает несколько «Примечание» сообщения типа:suppress "Примечание: нет видимого определения глобальной функции для" в R

Примечания: не видно глобальное определение функции

соответствующих примечания «initFields» для переменных не может быть подавлено с помощью раствора от In R, is it possible to suppress "Note: no visible binding for global variable"?, но он не работает для функций.

В идеале я хотел бы отключить эту проверку по всему миру или, по крайней мере, перенаправить эти сообщения «примечания» на stderr.

+0

Всякий раз, когда вы перекрестно размещаете вопрос, пожалуйста, укажите ссылку на другое место: https://github.com/yihui/knitr/issues/1047, поэтому вы не будете делить количество экспертов на два (следовательно, более высокие шансы получить ответ). –

+0

Боже, это огромная боль, вы когда-нибудь находили решение? – mdsumner

+0

Вид - в моем случае это было вызвано enableJIT() с уровнями выше 1. Нет общего решения. – god

ответ

0

Вы пытались обернуть echo = FALSE?

```{r, echo=FALSE, warning = FALSE} 
your code here 
``` 
+0

Да, конечно: сообщения «заметки» по какой-либо причине не считаются предупреждениями или нормальным выходом, поэтому эти настройки не затрагиваются. – god

0

возможно с ggplot вместо qplot, с aes_string вместо ПЯ, как предложено здесь:

How can I handle R CMD check "no visible binding for global variable" notes when my ggplot2 syntax is sensible?

+0

Это поможет ** только ** для заметок об переменных внутри aes(), но глобальные переменные уже позаботились об обходном пути, с которым я связан в моем вопросе. Проблема заключается в заметках о «глобальной функции», к которой не применимо обходное решение переменной. – god

1

я мог бы быть очевиден, но почему бы не заключить вызовы ggplot с дезактивацию от JIT компилятор

примером может быть:

invisible(enableJIT(3)) 
#Normal Code Here 

invisible(enableJIT(0)) 

#GGPlot Code here 

invisible(enableJIT(3)) 

Я согласен с этим немного быстро исправить, но помогает мне решить проблему почти во всех случаях.

Смежные вопросы