Расширение моего комментария. Обратите внимание, что, не видя полного определения ExpB, трудно понять, является ли это всем. Внутри тела Mom
вы создаете новый объект с именем Out.data
. Однако Mom
устает возвращать объект с именем Out
. Внутри Mom
не определен объект Out
, поэтому R сообщает, что не может найти объект с именем Out
. Изменение Out
на Out.data
в вызове return
решит проблему, как я продемонстрирую ниже в Mom2
.
> vec <- rnorm(10)
>
> Mom1 <- function(x){
+ Out.data = data.frame(
+ m = mean(x),
+ sx = sqrt( mean(x^2) - mean(x)^2 ),
+ se = sqrt( mean(x^2) - mean(x)^2 ) / sqrt( length(x) )
+ )
+ return(Out)
+ }
>
> Mom1(vec)
Error in Mom1(vec) : object 'Out' not found
>
> Mom2 <- function(x){
+ Out.data = data.frame(
+ m = mean(x),
+ sx = sqrt( mean(x^2) - mean(x)^2 ),
+ se = sqrt( mean(x^2) - mean(x)^2 ) / sqrt( length(x) )
+ )
+ return(Out.data)
+ }
>
> Mom2(vec)
m sx se
1 0.1080265 1.111821 0.3515887