Доброе утро,
Я работаю в R несколько месяцев и должен убедиться, что время выполнения моего кода не слишком велико, потому что я анализирую большие наборы данных.
Следовательно, я пытался использовать как можно больше векторизованных функций.
Тем не менее, я все еще удивляюсь чему-то.
Что дорого стоит в R, не так ли сам цикл?Я имею в виду, что проблема возникает, когда вы начинаете модифицировать переменные в цикле, например, это правильно?
Поэтому я подумал, что если вам просто нужно запустить функцию для каждого элемента (вас на самом деле не волнуетрезультат).Например, для записи данных в базу данных.Что вы должны сделать?
1) использовать mapply, нигде не сохраняя результат?
2) сделать цикл над вектором и применить только f (i) к каждому элементу?
3) есть ли лучшая функция, которую я мог бы пропустить?
(это, конечно, при условии, что ваша функция неоптимально векторизована).
Как насчет пакета foreach
?Испытывали ли вы какое-либо улучшение производительности, используя его?