14/03/24 13:51:22.64 .net
あぁ、本当だねぇ。ifelseにするとifよりも遅くなるねぇ。
ifelseを提示したのは、そちらの方が分かりやすいと思ったから。
すまなかったねぇ。
> system.time(sapply(1:1000, function(x){vecA = c(1, 3, 0); ifelse(is.nan(a <- mean(vecA[vecA != 0])), NA, a)}))
ユーザ システム 経過
0.042 0.000 0.059
> system.time(sapply(1:1000, function(x){vecA = c(1, 3, 0); if(is.nan(a <- mean(vecA[vecA != 0]))){mean(a)}else{NA}}))
ユーザ システム 経過
0.023 0.000 0.029