Мне нравится использовать функцию reshape
из matlab
пакета, но мне нужно затем указать base::sum(m)
каждый раз, когда я хочу, чтобы суммировать элементы моей матрицы или еще matlab::sum
называют, которые только суммы по колонкам ..Выберите функцию для загрузки из R пакета
мне нужно загрузки пакета gtools
использовать функцию rdirichlet
, но функция gtools::logit
маскирует функция pracma::logit
, что мне нравится лучше ..
Я Гесс нет таких вещей, как:
library(loadOnly = "rdirichlet", from = "gtools")
или
library(loadEverythingFrom = "matlab", except = "sum")
.. потому что функции из пакета matlab
может internaly работать на функцию matlab::sum
. Поэтому необходимо загрузить . Но нет ли способа получить это поведение с точки зрения пользователя? Что-то, что будет чувствовать себя, как:
library(pracma)
library(matlab)
library(gtools)
sum <- base::sum
logit <- pracma::logit
.. но что бы не портить ls()
со всеми этими маленькими utilitary функциями?
Возможно, мне нужно определить собственное пространство имен по умолчанию?
Для двух пакетов с конфликтующими именами, пакет загружен в более высокая позиция 'library (..., pos = number)' будет иметь приоритет. Вы можете видеть расположение своих пакетов с помощью 'search()'. Если вы должны были загрузить 'pracma' в более низком положении, чем' gtools', тогда ваш 'logit' должен быть тем, который вы хотите. Я не знаю, как решить проблему «base :: sum». Я думаю, вам лучше просто использовать синтаксис 'library :: function' для вызова нужной функции. – Vlo
@ Vlo Слишком плохо. Но спасибо за трюк 'pos', это поможет немного .. :) –
Вы можете организовать путь поиска с файлом' .Rprofile' и/или '.onLoad()' в верхней части вашего скрипта –