- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 R 中编写一些非常简单的东西(我认为),但我似乎无法做到正确。我有一个包含 50 个国家(1 到 50 个)的数据集,每个国家 15 年,每个国家大约 20 个变量。现在我只在我的因变量( OS
)上测试一个变量( SMD
)。我想通过一个国家/地区的循环来执行此操作,因此我将获得每个国家/地区的输出而不是整体输出。
我认为首先创建一个子集是明智的(以便能够首先查看国家/地区 1,然后我的循环应该增加国家/地区和测试国家/地区 2 的数量)。我相信我在页面底部的回归应该给我国家 1 的输出,而不是整个数据集的总分。但是我不断收到这些错误:
> pdata <- plm.data(newdata, index=c("Country","Date"))
series are constants and have been removed
> pooling <- plm(Y ~ X, data=pdata, model= "pooling")
series Country, xRegion are constants and have been removed
Error in model.matrix.pFormula(formula, data, rhs = 1, model = model, :
NA in the individual index variable
> summary(pooling)
Error in summary(pooling) : object 'pooling' not found
rm(list = ls())
mydata <- read.table(file = file.choose(), header = TRUE, dec = ",")
names(mydata)
attach(mydata)
Y <- cbind(SMD)
X <- cbind(OS)
newdata <- subset(mydata, Country %in% c(1))
newdata
pdata <- plm.data(newdata, index=c("Country","Date"))
pooling <- plm(Y ~ X, data=pdata, model= "pooling")
summary(pooling)
dput(mydata) structure(list(Region = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("NAF", "SAME"), class = "factor"), Country = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), Date = c(1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L ), OS = structure(c(19L, 25L, 27L, 15L, 22L, 20L, 23L, 9L, 7L, 5L, 2L, 1L, 4L, 3L, 6L, 10L, 11L, 13L, 11L, 8L, 26L, 25L, 31L, 29L, 28L, 21L, 30L, 24L, 24L, 16L, 11L, 14L, 12L, 17L, 18L, 29L, 32L, 32L, 33L, 34L), .Label = c("51.5", "52.2", "55.6", "56.4", "56.7", "57.7", "57.8", "58.3", "59", "59.2", "59.6", "59.9", "60.2", "60.4", "61.1", "61.2", "62.2", "62.3", "62.8", "63.2", "63.3", "63.8", "63.9", "64.2", "64.3", "64.5", "64.7", "65.3", "65.5", "65.6", "66.4", "68", "69.6", "70.7"), class = "factor"), SMD = structure(c(7L, 12L, 20L, 21L, 17L, 15L, 13L, 10L, 14L, 22L, 23L, 33L, 1L, 32L, 29L, 34L, 28L, 25L, NA, NA, 9L, 6L, 8L, 4L, 2L, 35L, 3L, 36L, 5L, 11L, 16L, 18L, 24L, 19L, 26L, 31L, 27L, 30L, NA, NA), .Label = c("100.3565662", "13.44788845", "13.45858747", "13.56815534", "15.05892471", "17.63789658", "18.04088718", "18.3101351", "19.34226196", "21.25530884", "21.54423145", "23.75898948", "24.08770926", "26.39817342", "29.44079001", "31.40605191", "34.46667996", "34.52913657", "35.66070947", "36.4419931", "39.16875621", "44.0126137", "45.72949566", "49.13062679", "54.83730247", "56.87886311", "59.80971583", "60.5658962", "69.20148901", "70.91362874", "72.64845214", "73.97139238", "75.20140919", "76.18378138", "9.570435019", "9.867635305"), class = "factor")), .Names = c("Region", "Country", "Date", "OS", "SMD"), class = "data.frame", row.names = c(NA, -40L))
最佳答案
您确定需要使用 plm
??这将生成按国家/地区列出的摘要列表。
# convert factors to numeric
mydata$SMD <- as.numeric(mydata$SMD)
mydata$OS <- as.numeric(mydata$OS)
# Using lapply(...)
smry <- lapply(unique(mydata$Country),
function(cntry)
summary(lm(SMD~OS,data=mydata[mydata$Country==cntry,])))
# Same thing, using for loop
smry <- list()
for (cntry in unique(mydata$Country)) {
smry <- list(smry,
summary(lm(SMD~OS,data=mydata[mydata$Country==cntry,])))
}
SMD
和
OS
是因子,需要先转换为数字。
关于r - 在 plm 中循环子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22025511/
我不明白 R 如何计算面板数据和固定效应的自由度。我特别有两个疑问: 1) 当使用以下两种备选策略拟合最小二乘虚拟变量模型时: a) 包含 N 个虚拟变量并移除常量 b) 包括 N-1 个假人并保持不
我有一个使用以下方法创建的 plm 对象: require(plm) plm1 data.frame(resid(plm1)) Error in as.data.frame.default(x[[i
我在使用 Stata 后尝试学习 R,我必须说我喜欢它。但是现在我遇到了一些麻烦。我即将用面板数据做一些多元回归,所以我使用了 plm包裹。 现在我想用 plm 得到相同的结果在 R 中,就像我使用
我正在使用 R 运行蒙特卡罗模拟来研究面板数据估计器的性能。因为我将运行大量试验,所以我需要从我的代码中获得至少不错的性能。 使用 Rprof我的模拟的 10 次试验表明,大部分时间都花在了对 sum
我第一次尝试在 R 中使用 plm 包。 我希望估计一个只有时间虚拟变量的池模型,即没有未观察到的异质性。 我运行了一个简单的回归形式: plm(dep ~ x:y -1, data=data, in
我第一次尝试在 R 中使用 plm 包。 我希望估计一个只有时间虚拟变量的池模型,即没有未观察到的异质性。 我运行了一个简单的回归形式: plm(dep ~ x:y -1, data=data, in
这是一个非常简单的问题,但我一直找不到明确的答案,所以我想我会问它。我使用 plm 包来处理面板数据。我正在尝试使用 lag 函数在时间上滞后变量 FORWARD (默认是检索上一周期的值,我想要下一
我正在尝试在 R 中编写一些非常简单的东西(我认为),但我似乎无法做到正确。我有一个包含 50 个国家(1 到 50 个)的数据集,每个国家 15 年,每个国家大约 20 个变量。现在我只在我的因变量
我想运行只包括时间和单个固定效应的回归(即没有其他右侧变量)。 我试着用 plm 来做这件事: plm(y ~ -1,data=data, effect="twoways", model="withi
我有一个 14 年 x 89 个观察值和 10 个变量 + 4 个假人的 pdata.frame。 这些虚拟变量仅用于过滤(必要时)我的数据。 使用 Stata 时,我只在代码末尾添加“if VAR=
我在设置面板数据模型时遇到问题。 以下是一些示例数据: library(plm) id <- c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2) year <- c(1999,199
我正在使用 plm 处理固定效应回归模型。 模型如下所示: FE.model <-plm(fml, data = data.reg2, index=c('Site.ID','da
我想创建变量的滞后。在面板数据设置中,显然仅在每个面板内考虑滞后。 为什么plm的lag()不尊重面板结构(默认情况下),有没有办法改变它(无需手动dplyr) ? # Load example da
是否可以使用 plm 中的 plm() 来估计一个具有嵌套结构的重复测量随机效应模型包? 我知道可以使用 lme4 中的 lmer()包裹。但是,lmer() 依赖似然框架,我很想用 plm() 来实
我想创建变量的滞后。在面板数据设置中,显然仅在每个面板内考虑滞后。 为什么plm的lag()不尊重面板结构(默认情况下),有没有办法改变它(无需手动dplyr) ? # Load example da
有了这个数据输入: A B C D 0.0513748973337 0.442624990365 0.044669941640565 12023787.0495 -0.0475118
我正在处理一个包含 110 万个观察值 x 41 个变量的大型(但不是很大)数据库。数据排列为不平衡面板。使用这些变量,我指定了三个不同的模型,并将每个模型作为 1) 固定效应、2) 随机效应和 3)
我正在使用包 plm 估算面板模型。面板中的一些人没有所有解释变量的数据,因此他们被排除在回归之外。我如何才能看到哪些特定观察已用于估计? 在 Stata 中,通常的命令是 e(sample)。 R
请注意:我试图让代码同时处理时间和个人固定效应以及不平衡的数据集。下面的示例代码适用于平衡数据集。 也请参阅下面的编辑,请 我正在尝试使用 plm 手动计算固定效应模型(具有个体效应和时间效应)的拟合
我有一个小的 N 大 T 面板,我通过 plm(面板线性回归模型)进行估计,具有固定效果。 有没有办法获得新数据集的预测值? (我想要 估计我的样本子集的参数,然后使用这些参数 计算整个样本的模型隐含
我是一名优秀的程序员,十分优秀!