Поскольку ваши возвращаемые значения являются скалярами, вы можете использовать c
для возврата x
(в противном случае используйте list
, как упомянуто @Ronak Shah), например,
x <- Vectorize(function(beta){
q <- numeric()
e <- numeric()
for (i in 1:10){
q[i] <- i+2-beta
e[i] <- i*3+beta
}
c(beta = beta, mean = mean(q), sd = sd(e))
})
где Vectorize
применяется, чтобы разрешить векторизованную операцию x
.
Пример
b <- c(1, 4, 7)
res <-as.data.frame(t(x(b)))
> res
beta mean sd
1 1 6.5 9.082951
2 4 3.5 9.082951
3 7 0.5 9.082951