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