"Dims [producto xx] no coincide con la longitud del error de objeto [xx]" al usar la función R `externa`
x <- 1:9
names(x) <- paste0("x",x)
y <- 2:5
names(y) <- paste0("y",y)
fun1 <-function(a, b) {paste(class(a),b, sep = "**")} #works
funError <-function(a, b) {paste(class(a),class(b), sep = "**")} #does not work with outer
funNoError<-function(a, b) {paste(a,class(a),class(b),b, sep = "**")} #works with outer
funError(1,2) #is a valid function
outer(x, y, "funError") # fails
outer(x, y, "funNoError") # works
Q1: Por queouter(x, y, "funError")
no trabajo
Error en dim (robj) <- c (dX, dY): dims [producto 36] no coincide con la longitud del objeto [1]
Q2: Por queouter(x, y, "funNoError")
trabajo ? Es bastante similar.
La única diferencia que puedo ver es que cada "resultado" defunError
es idéntico "numeric**numeric"
).
Si el problema es tener el mismo valor todo el tiempo: ¿Por qué funciona esto aquí?
outer(rep(0,7), 1:10, "^")
Está bien, lo entiendo:
lol <- function(a,b) {"lol"}
lol_v<- Vectorize(lol)
outer(x, y, "lol") # fails with same Error
outer(x, y, "lol_v") # works as expected