R: 2 функции с тем же именем в двух разных пакетах

Мне нужно загрузить пакеты R: tseries и chron

Оба имеют функцию с именем is.weekend

У меня всегда есть в моей среде функция из второго загруженного пакета.

Как я могу всегда получить доступ к функции из, скажем, chron?

Ответ 1

Возможно, вы уже заметили, что порядок загрузки пакетов имеет значение, то есть пакет, который будет загружен последним, замаскирует функции в пакетах, загруженных ранее.

Чтобы указать пакет, который вы хотите использовать, синтаксис:

chron::is.weekend()
tseries::is.weekend()

Другими словами, используйте packagename::functionname()

Кроме того, если вы знаете, что всегда хотите использовать функцию в chron, вы можете определить свою собственную функцию следующим образом:

is.weekend <- chron::is.weekend    #EDIT

Ответ 2

library(chron)
is.weekend.chron <- is.weekend
library(tseries)

то вы можете вызвать is.weekend для версии tseries или is.weekend.chron для версии chron