Получи случайную криптовалюту за регистрацию!

​​Дата саентист и циклы-циклы-циклы… Автор: Илья шутов (@iMis | R4marketing | канал Алексея Селезнёва | Язык R

​​Дата саентист и циклы-циклы-циклы…

Автор: Илья шутов (@iMissile)

Если опустить философские рассуждения, что все на уровне процессора является циклом или goto, то можно выделить три причины:

1. При работе с индексами цикла можно легко проглядеть и допустить ошибку. Но тут помощь приходят итераторы.

2. Очень часто циклы вручную пишутся очень неэффективно с точки зрения манипуляций с памятью — сильная просадка по производительности. А у вложенных циклов еще и накладные на старт цикла.

3. Нелинейная структура цикла (break, continue) не позволяют сделать хорошую оптимизацию на уровне процессора или компилятора. А это дополнительно означает, что распараллелить цикл по вычислителям будет очень трудно. В решении этого вопроса помогает функциональный подход и итераторы. Если известно о независимости вычислений значений каждого отдельного шага — надо сообщать об этом компилятору явно.

Просто поглядим на циклы на примере различных задачек.

Содержание:
● Пример 1. Итерирование по строкам
● Пример 2. Декартово произведение множеств
● Пример 3. Оконные единичные матрицы
● Пример 4. Тайная связь между событиями
● Пример 5. Цифровой храповик
● Пример 6. Серийные покупки
● Пример 7. Пассажирские перевозки
● Пример 8. Выборка по пациентам
● Пример 9. Считаем возрастные группы
● Пример 10. Ускоряем Difference-in-Differences

Читайте так же:
- Курс "Циклы и функционалы в языке R"

#статьи_по_R