Поведение различных синтаксисов вокруг %>%
подробно объясняется в help("%>%", package = "magrittr")
.
В этом конкретном случае sum(is.na(.))
не интерпретируется как анонимная функция, как, по-видимому, ожидает OP, поэтому .
не является аргументом для анонимной функции.
Вместо этого .
- это LHS (левая сторона) трубы.
airquality %>% map_df(sum(is.na(.)))
можно развернуть как map_df(airquality, .f = sum(is.na(airquality)))
.
sum(is.na(airquality))
превращается в 44
, а из help("map_df")
, если аргумент .f
для map_df
является числовым вектором,
преобразуется вФункция экстрактора
Подводя итог: это извлекает 44-й элемент каждого столбца и ограничивает его обратно фреймом данных.Или, с некоторым упрощением, это извлекает 44-ю строку.