如何在 R 中不使用均值函数计算均值?

How to compute a mean not using a mean function in R?

我需要计算平均 R,避免使用矢量化 R 函数。 这是我的代码:

average <- function(x) {
for (s in seq_along(x)) {
 z <- 0
   z <- x + z 
  z <- (z / s) 
}
print(z) 
}

x_prob <- c(5, 19, 23, 56)
mean_x_prob <- average(x_prob)
mean_x_prob

出于某种原因,我得到的答案如下:

[1]  1.25  4.75  5.75 14.00

R 基本上将我插入的每个值除以值的数量。如何避免它并计算整个向量的平均值?

当我们遍历向量的序列时,使用它作为索引对值进行子集化并将其添加到初始化的 'z 和循环外,将 'z' 除以 length共 'x'

average <- function(x) {
z <- 0
 for (s in seq_along(x)) {

     z <-   z + x[s]

   }
  z/length(x)
  }

average(x_prob)
#[1] 25.75

-使用内置 mean

检查
mean(x_prob)
#[1] 25.75