【发布时间】:2013-01-17 12:38:09
【问题描述】:
我正在寻找一种方法来估计各种模型(比如说 10 个)并将每个估计中的某个参数值保存在带有 stata 的向量中。
我更像是一个 R 人,这里是一个非常简单的 R 代码工作示例
n1 <- 100
n2 <- 10
group <- rep(1:10,each=n1)
data <- as.data.frame(cbind(rnorm(n1*n2,0,1),rnorm(n1*n2,0,1),group))
dimnames(data)[[2]] <- c("y","x","group")
val <- names(table(group))
estimates <- vector(mode="numeric",length=length(val))
for( i in 1:length(val)){
j <- which(data$group==val[i])
estimates[i] <- coef(lm(y[j] ~ x[j], data=data))[2]
}
或者
library(nlme)
mod1 <- lmList(y~x | group, data=data)
coef(mod1)[,2]
是的,不幸的是我需要使用 stata :-(
【问题讨论】:
-
statsby是正确的方法吗? -
您的问题好像是针对精通 R 和 Stata 的人提出的,以便他们能够理解 R 代码并立即转换为 Stata 等价物。此外,不建议您对 Stata 进行个人挖掘,无论其意图多么幽默。一个更好的策略是显示你到目前为止的 Stata 代码,以便 Stata 人员可以快速看到你正在尝试做什么。但是是的:如果您的模型分别适合不同的子集,那么
statsby是整理参数估计的好方法。 -
我无意唠叨某人。但我假设如果我发布洞 R 代码作为示例,逻辑响应将是“你为什么不在 R 中做呢?”我发布 R 代码的原因是我想提供一些示例。
标签: r loops regression stata estimation