2015-02-22 4 views
2

Я вношу свой вклад в пакет qmethod R, и я просто написал функцию, которая создает кучу ggplot2 объектов.Pesky ggplot2 пространство имен конфликтует при использовании ggplot2 в пакете

Функция работает отлично, но строит и R CMD Check предупреждает меня, что:

replacing previous import by ‘ggplot2::%+%’ when loading ‘qmethod’ 

Я посмотрел на SE posts и book, но не могу понять, что проблема @ Хедли.

Вот соответствующие части моего NAMESPACE:

import("ggplot2", 
    "stringr") 
import("psych") 
importFrom("plyr","count") 
importFrom("reshape2","melt") 
importFrom("digest", "digest") 
importFrom("RColorBrewer", "brewer.pal") 

А вот часть моего DESCRIPTION:

Imports: 
    digest, 
    psych, 
    knitr, 
    RColorBrewer, 
    stringr, 
    ggplot2, 
    plyr, 
    reshape2 

часть, где я вызвать функцию ggplot2 внутри моей функции array.viz.R выглядит следующим образом (и больше):

g <- ggplot(
     data = array.viz.data 
     ,aes(
     x = fsc # factor scores, always same variable bc dataframe is constructed for every factor array by above loop 
     ,y = ycoord # just the random ycoord for viz 
     ,ymax = max(ycoord) 
     ,ymin = 0 
     #,label = item.wrapped # this for some reason causes an error 
    ) 
    ) 
    g <- g + geom_tile( # add background tiles 
     aes(
     fill = item.sd 
    ) 
    ) 

Ps .: yo и можно найти всю текущую работу здесь: https://github.com/maxheld83/qmethod/tree/array-viz

Pps .: Я знаю, что ggplot2 сама импортирует кучу функций, я также импортировать (например, reshape2), поэтому у меня есть подозрение, что это может быть проблемой.

+1

Я просто добавить эту ссылку в качестве ссылки на источник предупреждения: https://github.com/wch/r-source/blob/a6e088d02a6fb54c42cfe384865ea6788c24a900 /src/library/base/R/namespace.R#L836-L842 – Thomas

ответ

1

Оказалось, import("psych") является нарушением закона.

Кажется, как-то экспорт снова ggplot::%+%, хотя я не могу придумать, почему это так.

Во всяком случае, исправление:

importFrom("psych", "principal") # that's the function we were using 

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

  • Нет связанных вопросов^_^