Я пытаюсь воспроизвести один из примеров из пакета dplyr, но получаю это сообщение об ошибке. Я ожидаю увидеть новый столбец n с частотой каждой комбинации. Что мне не хватает? Я трижды проверил, что пакет загружен.
library(dplyr)
# summarise peels off a single layer of grouping
by_vs_am <- group_by(mtcars, vs, am)
by_vs <- summarise(by_vs_am, n = n())
Ошибка в n (): эту функцию нельзя вызывать напрямую
plyr
первымsummarize
с пакетом что-то вроде этогоdplyr::summarize(count = n())
.Как упоминалось в предыдущем ответе, у вас может быть конфликт между plyr и dplyr. Вы можете запустить эту команду, чтобы выгрузить пакет plyr.
Затем вы можете продолжить, как и ожидалось.
источник
plyr
иdplyr
пакеты в одном из моих проектов и понял , этот конфликт. хороший помощник по работе.Чтобы избежать путаницы с функциями маскирования, ясно использовать спецификацию "package :: function", как в примере ниже:
источник
В другом случае эта ошибка возникла в следующем коде.
Ее можно решить следующим образом.
источник
Столкнулся с аналогичной проблемой при выполнении кода в соответствии с упомянутым блогом и последующем запуске решения в отсоединении ("package: plyr", unload = TRUE)
Блог: https://www.analyticsvidhya.com/blog/2017/09/comparative-stock-analysis/
После выполнения отсоединения, когда приведенный выше код был повторно запущен, он работал нормально, хотя получил предупреждающее сообщение, как показано ниже, не уверен, выгружен ли plyr или нет.
Предупреждающее сообщение: пространство имен 'plyr' не может быть выгружено: пространство имен 'plyr' импортировано 'reshape2', 'scale', 'broom', 'ggplot2', поэтому не может быть выгружено
источник
для меня решением была
detach()
функция, которую я использовал, эту функцию в пакетеисточник