【发布时间】:2019-09-17 01:02:14
【问题描述】:
我不知道如何使用公式而不是使用函数手动获得最小二乘估计(beta 1 hat 和 beta not hat)。
我已经尝试了下面的公式,我觉得我需要使用 for 循环,但我就是不知道该怎么做。一旦我获得 beta 1,我应该能够获得 beta 不。
x <- toluca$lot
y <- toluca$work
beta1hat <- (sum(x[i]-mean(x)*sum(y[i] - mean(y))/sum(x[i]-mean(x)^2)
它说 I 没有定义,但我不知道我会如何定义 I,因为它是 x 中的一个特定值。
【问题讨论】:
-
像这样的 R 函数是矢量化的,您根本不必指定
i。x <- 1:10然后看看x - mean(x)给出了什么。还有(x - mean(x))^2等 -
您不需要
[i]条款。 R 自动处理向量。另外:注意括号和求和的内容。 -
您还需要确保括号有意义。另外...您的公式在分子中的总和太多。
-
` beta_1_hat
-
i 未定义,因为您没有为其分配任何值。广义形式是 solve(t(x) %*% x) %*% (t(x) %*% y)
标签: r linear-regression least-squares