R 中的方差计算 - 附加一个向量

Variance calculation in R - appending a vector

我想计算样本的 R 方差。你可以在下面找到我的代码。

我无法在这一步列出差异,diff[length(diff)+1] <- spin_time[y] - mean。出了点问题,我无法弄清楚。

spin_time <- c(4,5,6,7,8)

length_spin_time <- length(spin_time)

total <- 0

for (x in range(1, length_spin_time)){
    total <- total + spin_time[x]
}

mean <- total / length_spin_time

sum_diffsq <- 0
diff <- c()
diffsq <- c()


for (y in range(1, length_spin_time)){
  diff[length(diff)+1] <- spin_time[y] - mean
  diffsq[length(diffsq)+1] <- diff[y] * diff[y]
  sum_diffsq <- sum_diffsq + diffsq[y]
}

variance <- sum_diffsq / (length_spin_time - 1)

print(paste0("Variance is ",variance))

您的代码的唯一问题是 range(1, x) 在 R 中不起作用。相反,您需要使用 c(1:length_spin_time).

此外,您还可以进行向量减法、向量乘法和大量操作。还有一个方差函数 (var(array)).