Изменить функцию R для всей системы с помощью insertSource - PullRequest
0 голосов
/ 25 июня 2018

Я бы хотел изменить функцию "туза" пакета "ape" в соответствии с предложением автора.Я написал измененную функцию в "ace2.r" и хочу заменить стандартную функцию "ace" из пакета моей функцией (см. Здесь: Как редактировать и отлаживать исходные коды библиотеки R ):

insertSource("ace2.r", package= "ape", functions="ace")

но я получаю

Warning message: In insertSource("ace2.r", package = "ape", functions = "ace"): cannot insert these (not found in source): "ace"

Я проверил? InsertSource, но я не получил то, что должно быть указано для "функций"

1 Ответ

0 голосов
/ 25 июня 2018

Изменение функции немного сложное и рискованное, вы можете создать свою модифицированную версию с новым именем.Предположим, что функция substr

Запись substr в консоли и нажмите клавишу ввода, которая вернет

> substr
function (x, start, stop) 
{
if (!is.character(x)) 
x <- as.character(x)
.Internal(substr(x, as.integer(start), as.integer(stop)))
}
<bytecode: 0x000000000d7d4ec0>
<environment: namespace:base>

затем назначьте свою собственную версию с новым именем ( my_substr )

my_substr <- function (x, start, stop) 
{
if (!is.character(x)) 
x <- as.character(x)
.Internal(substr(x, as.integer(start), as.integer(stop)+1))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...