¿Por qué la construcción if-else y la función ifelse() se comportan de manera diferente?if-else vs ifelse con listas
mylist <- list(list(a=1, b=2), list(x=10, y=20))
l1 <- ifelse(sum(sapply(mylist, class) != "list")==0, mylist, list(mylist))
l2 <-
if(sum(sapply(mylist, class) != "list") == 0){ # T: all list elements are lists
mylist
} else {
list(mylist)
}
all.equal(l1,l2)
# [1] "Length mismatch: comparison on first 1 components"
+1. Me pregunto qué hay detrás de esta decisión de diseño ... – Ryogi
@Dason, en una nota no relacionada, si digo que tengo esto 'df.stats $ Mean.Result2 <- ifelse ((df.stats $ t.test.equal <= 0.05 & df.stats $ f.test> 0.05 & df.stats $ Mean.Diff <0), "Slower", 0) ' ¿Existe alguna forma alternativa de escribirlo usando if - else build? hace que el rendimiento de ifelse venza al de else si construye –