for очень медленная, и якобы вместо неё лучше использовать apply
Это о старых версиях Р, как я понимаю?
это не функция плохая, а руки ))) apply просто эти руки пересаживает в плечи ))
нет, цикл в R медленный потому что обычно его используют так x <- NA for (i in 1:1000000) x <- c(x, i)
о всех. это принципиальный момент. векторизация или ручное поэлементное управление
Это я от Карпова услышал такое))
Но вообще *apply - очень хорошие функции. И их расширения в пакете purrr. Шаблон lapply(list, function(x) some_magic) %>% do.call(rbind, .) - один из любимых)
А ещё у них есть аналоги типа parLapply для распаралеливания вычислений. Но я советую хорошенько подумать, прежде чем распаралеливать код. Иногда это может его замедлить даже в итоге. Или вы просто выйдете за пределы памяти
Год назад я ещё шутил о том, что когда-нибудь узнаю, что делает do.call, но сейчас уже больше не буду. Вероятность этого с годами асимптотически приближается к нулю.
в моём примере эту схему можно заменить одним map_df))
1. думать — да, параллельные вычисления — тонкая материя. 2. сейчас принято смотреть сюда: https://www.futureverse.org/
о, распараллеливание Меня из за этого на работе и агитировали переписать модель на ТОТ язык, так как там можно распараллелить вычисления Оказывается и тут можно, круто)))
Обсуждают сегодня