Иногда вы можете столкнуться со следующим сообщением в R:
The following objects are masked from 'package:stats':
filter, lag
Это сообщение появляется, когда вы загружаете какой-либо пакет в R, содержащий функции, имена которых совпадают с функциями, которые уже загружены из какого-либо другого пакета в вашей текущей среде.
Например, предположим, что я загружаю пакет dplyr в R:
library(dplyr)
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
Из вывода мы можем наблюдать:
Функции, называемые filter и lag , скрыты от пакета R stats.
Если мы используем filter() или lag() в нашем коде R, будут использоваться функции filter() и lag() из dplyr , так как последний загруженный пакет содержит эти функции.
Функции intersect , setdiff , setequal и union замаскированы из базового пакета R.
Если мы используем intersect(), setdiff(), setequal() или union() в нашем коде R, эти функции из dplyr будут использоваться, так как последний загруженный пакет содержит эти функции.
Как использовать маскированные функции
Предположим, вы хотели бы использовать функцию intersect() из базового пакета R, но в настоящее время она замаскирована, поскольку в пакете dplyr , который мы загрузили совсем недавно, есть функция intersect() .
Чтобы явно использовать функцию intersect() из базы R, вы можете использовать следующий синтаксис с двойным двоеточием:
base::intersect(x, y)
На практике вы, скорее всего, загрузите несколько пакетов в среду R одновременно.
Чтобы убедиться, что вы используете функцию из какого-то нужного пакета, вы всегда можете ввести имя пакета с двойным двоеточием перед именем функции.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Как интерпретировать вывод glm в R
Как интерпретировать результаты ANOVA в R
Как обращаться с предупреждением R: glm.fit: алгоритм не сошелся