Я пытаюсь написать функцию для выполнения определенной работы (в моем случае, проанализировать набор данных для выбросов), поэтому первая вещь, которую я хочу сделать, - это посмотреть, как другие люди выполняли аналогичные задания.
Я могу сделать это, чтобы загрузить конкретный пакет и изучить код функции, но некоторые функции, похоже, зависят от того, какой класс объекта вы бросаете на него
>library(outliers)
> fix(outlier)
function (x, opposite = FALSE, logical = FALSE)
{
if (is.matrix(x))
apply(x, 2, outlier, opposite = opposite, logical = logical)
else if (is.data.frame(x))
sapply(x, outlier, opposite = opposite, logical = logical)
else {
if (xor(((max(x) - mean(x)) < (mean(x) - min(x))), opposite)) {
if (!logical)
min(x)
else x == min(x)
}
else {
if (!logical)
max(x)
else x == max(x)
}
}
}
Как вы можете смотреть на код чего-то, что изменяется в зависимости от объекта?
Edit:
ОК, Palm < - face. Функция, которую я использовал в качестве примера, просто вызывает себя, но все, что у него есть код... Я видел другие примеры (но не могу придумать ничего из себя), где функция выполняла другие вещи в зависимости от класса объекта, брошенного на этом, так что вопрос стоит, хотя это плохой пример!