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


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

оба имеют функцию с именем is.выходные

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

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

2 51

2 ответа:

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

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

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

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

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

is.weekend <- chron::is.weekend    #EDIT
library(chron)
is.weekend.chron <- is.weekend
library(tseries)

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