Простое руководство по пониманию функций apply() в R

Простое понимание функций apply() в R пошаговое руководство

Узнайте, как использовать эти полезные функции однажды и навсегда

Фото от Kelly Sikkema на Unsplash

Введение

Я начну этот пост с того, что ежедневно работаю с языками R и Python. Честно говоря, мне кажется, что способ использования функций apply в Python более простой и интуитивно понятный.

Думая о причине этого, я считаю, что это связано с тем, что в Python нет так много вариантов. Язык R представляет множество различных вариантов – семью функций apply, как я люблю их называть.

Помню, что однажды где-то прочитал, как кто-то говорил, что всегда сразу переходит к циклам для решения проблемы, потому что он не может запомнить, что делает каждая из функций apply и какую версию следует использовать в конкретном случае.

Ну, я надеюсь, что такие проблемы закончатся после этого поста. Я надеюсь, что те, кто будет читать эту статью, закончат ее с хорошим пониманием семьи функций и того, как и когда их использовать.

Для выполнения упражнений давайте быстро создадим образцовый набор данных, не придерживаясь слишком жестких критериев. Идентификатор, название продукта, количество проданных единиц и долларовая сумма за два разных периода.

# Создание набора данныхdtf <- data.frame(  id = 1:100,  product= sample(c('продукт А', 'продукт B', 'продукт C', 'продукт D'), size=100, replace=T),  qty = as.integer( rnorm(100, 10, 2) ),  amt = rnorm(100, 1280, 300),  amt2 = rnorm(100, 1280, 300))[OUT]:     id   product qty    amt   amt21     1 продукт А   9  954.1 1418.52     2 продукт B  12 1606.9  877.73     3 продукт D   7 1241.6 1433.54     4 продукт А  11 1413.2 1203.85     5 продукт B  10 1623.3 1451.1

Достаточно болтовни, давайте начнем.

Функции

В семействе функций apply в R есть 4 основные функции: apply(), lapply(), sapply() и tapply().

apply( )

Функция apply() названа в честь всего семейства. Она, вероятно, самая простая в использовании. Эта функция применяет одну и ту же функцию для всех элементов строки или столбца. Вот ее синтаксис.

apply(X, MARGIN, FUN)

Применяется к матрице X, по строкам (1) или…