Помилка: не вдалося знайти функцію “unit”


78

При спробі змінити налаштування теми цей простий код видає таку помилку:

library(ggplot2)
theme_nogrid <- theme_set(theme_update(  
                  plot.margin=unit(c(.25, .25, .25, .25), "in"),))

Error in do.call(theme, list(...)) : could not find function "unit"

Rдає мені цю помилку для будь-якого елемента, який використовує "одиницю". Будь-які інші налаштування, які не називають "одиницею", працюють нормально. У мене працює R v.2.15.2 (64-розрядна Windows).

Я широко шукав в Інтернеті цю проблему і нічого не знайшов. Я вдячний за будь-які пропозиції щодо проблеми.


27
require(grid)
Грегор Томас

4
ggplot2 тепер імпортує сітку, на відміну від її завантаження
баптист

1
Те саме відбувається з гратами. Хтось повинен виправити відповідь, щоб її можна було перевірити. Це заслуговує на "запис".
IRTFM

Те ж саме сталося і з "методами", також подивіться: stackoverflow.com/questions/30266732/ ... Чи так це, що поточна версія ggplot (я працюю з 1.0.1) імпортує деякі пакети замість їх завантаження? Я вважаю, що має бути передбачена вичерпна відповідь того, хто знає про глибину гглота.
Костас Буюкус

Відповіді:


73

Це тісно пов'язано з, хоча і не зовсім ідентичним, стрілкою () у ggplot2, яка більше не підтримується .

[ gridпакет ] [пакет] завантажувався автоматично попередніми версіями ggplot[2](робить gridфункції видимими / доступними для користувача); тепер на нього посилаються за допомогою NAMESPACEімпорту, тому вам потрібно явно завантажувати, gridякщо ви хочете використовувати gridфункції (або [щоб] переглянути їхні сторінки довідки).

"явне завантаження" тут означає library("grid")або require("grid")( gridє базовим пакетом, тому його не потрібно встановлювати окремо).

unit()є функцією з gridпакету, тому застосовується відповідь вище (про що йшлося arrow()).

Крім того, ви можете вказати grid::unit(...)або grid::arrow(...)без явного завантаження всього пакету.


Безумовно, тісно пов'язані, щось подібне трапилося зі мною і з "методами". Подивіться: stackoverflow.com/questions/30266732 / ...
Костас Bouyioukos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.