Size: a a a

R (язык программирования)

2021 May 28

ГД

Григорий Демин... in R (язык программирования)
Наверное, доки... А про ungroup читать не надо. Просто, если следующей функции не нужна группировка, пишешь ungroup, а потом уже эту самую функцию
источник

AS

Alexander Semenov in R (язык программирования)
Но у моей подопечной очень слабый корпоративный ноутбук: настолько, что даже на небольшом пайпе с group_by счёт идёт на десятки секунд. Поэтому я всячески склоняю её к тому, чтобы приобщиться к data.table. Авось и меня потом приобщит.
источник

AS

Alexander Semenov in R (язык программирования)
Попробую запомнить. Но с какой-нибудь "страшной историей" про то, что стало с одним вашим знакомым, который однажды забыл это сделать, мне было бы проще это сделать.
источник

IS

Ilya Shutov in R (язык программирования)
отрезать хвост по частям?
источник

ГД

Григорий Демин... in R (язык программирования)
Из всего базового семейства имеет смысл lapply. И для прода vapply. apply и sapply вредны. Даже цикл будет лучше, чем они
источник

AS

Alexander Semenov in R (язык программирования)
Я пока ни разу не столкнулся с ситуацией, когда скорость работы кода что-то для меня решала. Как только — так сразу.
источник

PU

Philipp Upravitelev in R (язык программирования)
да он этот хвост уже лет пять режет минимум, я уже ждать устал %)))
источник

AS

Alexander Semenov in R (язык программирования)
Я тоже устал ждать.
источник
2021 May 29

AS

Alexander Semenov in R (язык программирования)
Но новые ноутбуки появляются быстрее, чем возникают реальные ситуации, когда производительность tidyverse становится реальной проблемой.
источник

IS

Ilya Shutov in R (язык программирования)
задачи мелкие просто
источник

DK

Dm Kb in R (язык программирования)
тест показывает, что lapply просто  быстрее ... и я не претендую на всесторонний разбор вопроса
источник

AS

Alexander Semenov in R (язык программирования)
Ну так и я не программист, а менеджер.
источник

IS

Ilya Shutov in R (язык программирования)
аналогично
источник

ГД

Григорий Демин... in R (язык программирования)
Я к сожалению, не могу конкретную историю рассказать, потому что не помню подробностей. Только про arrange помню. Просто что-то неожиданно считается по группам, хотя хотелось бы без группировки. Кстати, сейчас почитал хелп к arrange - здравый смысл возобладал и он группировку игнорирует
источник

PD

Pavel Demin in R (язык программирования)
Кажется, если не сделать ungroup(), и сделать select() на сгруппированном дф, то группирующие переменные окажутся в итоговом результате. Я так запомнил, что надо ungroup ставить
источник

ДВ

Дмитрий Володин... in R (язык программирования)
ungroup прямо обязателен. Группировка убирается только после summarize и только по одной переменной. Если группировали по нескольким полям, то останется группировка по нескольким минус 1 полям. Вот это ясчитаю просто отвратительным поведением
источник

ДВ

Дмитрий Володин... in R (язык программирования)
Правда может пофиксили, не проверял уже год примерно
источник

ДВ

Дмитрий Володин... in R (язык программирования)
Да, группирующие поля автоматом остаются, даже если ты их селектор исключил. Причëм в консоль ещё и сообщение об этом выводится
источник

PD

Pavel Demin in R (язык программирования)
Вот и хорошо, что выводится - заставляет шевелиться каждый раз. И про .groups тоже выводится
источник

IS

Ilya Shutov in R (язык программирования)
Для честности
library(purrr)
smpl <- rexp(1e5, 2)
bench::mark(
 lapply(smpl, log),
 purrr::map(smpl, log),
 map(smpl, log),
 log(smpl),
 check = FALSE
)

# A tibble: 4 x 13
 expression                 min   median `itr/sec` mem_alloc `gc/sec` n_itr  n_gc
 <bch:expr>            <bch:tm> <bch:tm>     <dbl> <bch:byt>    <dbl> <int> <dbl>
1 lapply(smpl, log)       45.1ms  77.39ms     11.3      781KB     8.04     7     5
2 purrr::map(smpl, log)  239.7ms 295.91ms      3.38     781KB    10.1      2     6
3 map(smpl, log)         224.4ms 225.39ms      3.87     781KB    10.3      3     8
4 log(smpl)                3.4ms   3.72ms    249.       781KB     3.99   125     2

Векторизация бьет всех начисто.
Применение :: тоже жрет время.
А в серьезном кейсе lapply проигрывает: https://rpubs.com/wch/200398
источник