Я бы использовал простой return()
с list()
или c()
:
test1 <- function(x){
y <- x + 1
z <- x * 2 # if you don't use return these two won't leave test1
return(list(y=y, z=z)) # equivalent without return() is list(y=y, z=z)
#or: list(y=y, z=z)
}
test2 <- function(...){
ret1 <- test1(x)
print(ret1$y * ret1$z)
#or: return(ret1$y * ret1$z)
}
Обратите внимание, что использование return()
не обязательно, так как последний объект не назначен вфункция возвращается автоматически.
Использование return()
может помочь с удобочитаемостью.
Прочитать о return()
.