R:使用felm()中的矩阵抑制表示法
使用felm()-package(lfe) 我有10个变量,希望自己和互动的影响 但是,在构建可复制的数据帧时,我能够让脚本按如下方式运行:R:使用felm()中的矩阵抑制表示法,r,R,使用felm()-package(lfe) 我有10个变量,希望自己和互动的影响 但是,在构建可复制的数据帧时,我能够让脚本按如下方式运行: library(lfe) ## build data frame set.seed(1) data <- data.frame( x1 = rnorm(1:10000),x2=rnorm(1:10000),x3=rnorm(1:10000),x4=rnorm(1:10000),x5=rnorm(1:10000), z1 = rnorm(1:
library(lfe)
## build data frame
set.seed(1)
data <- data.frame(
x1 = rnorm(1:10000),x2=rnorm(1:10000),x3=rnorm(1:10000),x4=rnorm(1:10000),x5=rnorm(1:10000),
z1 = rnorm(1:10000),z2=rnorm(1:10000),z3=rnorm(1:10000),z4=rnorm(1:10000),z5=rnorm(1:10000),
f1 = as.factor(sample(c("yes","no","maybe"),10000,replace=TRUE)),
f2 = as.factor(sample(c("high","med","low"),10000,replace=TRUE)),
y = rnorm(1:10000))
## build matrices
x <- select(data,starts_with("x"))
z <- select(data,starts_with("z"))
## run model
model <- felm(y ~ as.matrix(x)*as.matrix(z) | factor(f1)+factor(f2) | 0 | f1, data=data)
summary(model)
select()
生成的对象在所需的维度(5 x 73412)中是正确的使用此结构,我发现有效的解决方案是data.matrix()
##构建矩阵
我还试图直接使用“.”符号:felm(price~base$.*new$.|…)
导致错误:解析错误(text=x,keep.source=FALSE)::1:15:意外的数值常量1:~base$0^
new <- select(snow,starts_with("new")) ##results in object 5x73,412
base <- select(snow,starts_with("base")) ##results in object 5x73,412
model <- felm(price ~ as.matrix(new)*as.matrix(base) | factor(ID) | 0 | ID, data=snow)
## build matrices
x <- select(data,starts_with("x"))
z <- select(data,starts_with("z"))
## run model using matrix notation
model <- felm(y ~ data.matrix(x)*data.matrix(z) | factor(f1)+factor(f2) | 0 | f1, data=data)