Вероятно, я просто пропустил параметр ... но, может быть, кто-нибудь может указать мне на него: как можно запустить анализ в R, протестировать его и все же где-то сохранить результат ?. Я знаю, что функции R могут возвращать только один единственный объект, но я мог бы либо использовать список здесь, либо вставить результаты теста и сохранить анализ в возвращаемом значении функции.
Но есть ли способ оценить эталонный тест (или system.time
) и анализ, не выполняя его дважды, как это ?:
require(rbenchmark)
bmark <- function(x){
res <- list()
res[[1]] <- benchmark(x^6)
res[[2]] <- x^6
res
}
РЕДАКТИРОВАТЬ: Мне очень жаль, что я вызвал некоторую путаницу в том, что я действительно хочу делать. Возможно, вариант использования проясняет ситуацию: у меня нет типичной тестовой ситуации, когда я хочу проверить, работает ли моя пользовательская функция быстрее, чем какая-либо другая функция. Скорее, я запускаю одно и то же с разными данными на разных машинах. Мне это не нужно в тестовой среде, но на производстве - я просто хочу, чтобы пользователи сценария знали, сколько времени это заняло. Если это час или больше, люди могут спланировать свой обеденный перерыв :).