R 编程/估计工具
外观
< R 编程
此页面介绍了大多数估计命令中可用的方法。这对各种回归模型都很有用。
大多数估计命令使用公式界面。结果在 ~
的左侧,协变量在右侧。
y ~ x1 + x2
在模型中轻松包含多项式变量作为预测变量。如果该变量还不是一个因子,只需使用 as.factor()
函数。这将创建一个虚拟变量集。
y ~ as.factor(x)
例如,我们可以使用 Ecdat 包中的 Star 数据
library("Ecdat")
data(Star)
summary(lm(tmathssk ~ as.factor(classk), data = Star))
I()
按原样接受参数。例如,如果你想在你的方程中包含一个修改后的变量,比如平方项或两个变量的加和,可以使用 I()
。
lm(y ~ x1 + I(x1^2) + x2)
lm(y ~ I(x1 + x2))
lm(I(y-100) ~ I(x1-100) + I(x2 - 100))
使用 :
或 *
可以轻松地包含变量之间的交互作用。:
添加所有交互作用项,而 *
添加交互作用项和单独项。
lm(y~x1:x2) # interaction term only
lm(y~x1*x2) # interaction and individual terms
还可以使用 poly()
函数生成多项式,并将选项设置为 raw = TRUE
。
lm(y ~ poly(x, degree = 3, raw = TRUE))
还存在一个高级公式界面,它对工具变量模型和混合模型很有用。例如,ivreg()
(AER) 使用这个高级公式界面。工具变量在 |
后输入。如果你想了解更多信息,请参阅 工具变量 部分。
library("AER")
ivreg(y ~ x | z)
除了summary()
和 print()
函数可以显示大多数估计命令的输出外,一些作者还开发了简化的输出函数。其中之一是arm 包中的 display()
函数。另一个是arm 包中的 coefplot()
,它可以将系数及其置信区间绘制成图表。根据Nathaniel Beck[1]定义的标准,Jeff Gill 开发了 graph.summary()
[2]。该命令不会显示无用的辅助统计信息。
R 代码 | 输出 |
---|---|
source("http://artsci.wustl.edu/~jgill/Models/graph.summary.R")
N <- 1000
u <- rnorm(N)
x1 <- 1 + rnorm(N)
x2 <- 1 + rnorm(N) + x1
y <- 1 + x1 + x2 + u
graph.summary(lm(y ~ x1 + x2))
|
Family: gaussian
Link function: identity
Coef Std.Err. 0.95 Lower 0.95 Upper CIs:ZE+RO
(Intercept) 0.980 0.056 0.871 1.089 |o|
x1 1.040 0.043 0.955 1.125 |o|
x2 0.984 0.031 0.923 1.045 |o|
N: 1000 Estimate of Sigma: 0.998
|
library("arm")
display(lm(y ~ x1 + x2))
|
lm(formula = y ~ x1 + x2)
coef.est coef.se
(Intercept) 0.89 0.05
x1 1.05 0.04
x2 1.02 0.03
---
n = 1000, k = 3
residual sd = 0.96, R-Squared = 0.86
|
本节内容为存根。 您可以通过扩展它来帮助维基教科书。 |
本节内容为存根。 您可以通过扩展它来帮助维基教科书。 |
本节内容为存根。 您可以通过扩展它来帮助维基教科书。 |
- 如果您想了解参数变换的标准误,您需要使用Delta 方法
- msm 包中的
deltamethod()
[3]。 - alr3 包中的
delta.method()
。 - car 包中的
deltaMethod
。
Zelig[4] 是一款后估计包,它可以模拟估计参数的分布,并计算感兴趣的数量,例如边际效应或预测概率。这对于非线性模型尤其有用。Zelig 带有一组vignette,解释了如何处理每种模型。有三个命令。
zelig()
估计模型并从估计参数的分布中抽样。setx()
固定解释变量的值。sim()
计算感兴趣的数量。
- ↑ Nathaniel Beck "Making regression and related output more helpful to users" The Political Methodologist 2010 http://politics.as.nyu.edu/docs/IO/2576/beck_tpm_edited.pdf
- ↑ Jeff Gill
graph.summary()
http://artsci.wustl.edu/~jgill/Models/graph.summary.s - ↑ 参见 UCLA 统计网页上的示例:http://www.ats.ucla.edu/stat/r/faq/deltamethod.htm
- ↑ Kosuke Imai, Gary King 和 Olivia Lau (2009)。Zelig:每个人的统计软件。R 包版本 3.4-5。 http://CRAN.R-project.org/package=Zelig