1

我正在尝试创建一个基本的 plm 回归。问题是我试图一次运行数千个不同的回归(美国每个县一个),所以我不能自定义每一个。我要运行的命令如下所示:

pm1 <- plm(y~x+unemploymentRate+rnetmig+percentageAbove65+xmas+xmas1+newyears+valentines+easter+thanksgiving+mothersday+halloween+superbowl+julyfourth,index=c("upc","week_end"),data=counties[[c]])

从 xmas 到 julyfourth 的变量都是假的,其他的都不是。以下适用于所有县:

pm2 <- plm(y~x+unemploymentRate+rnetmig+percentageAbove65,index=c("upc","week_end"),data=counties[[c]])

但是一旦我添加了假人,在第一个 plm 中,我得到了这个错误或类似的错误:

series fips_state_code, xfips_county_code, xupc_ver_uc, xSTNAME, xCTYNAME, xxmas, xnewyears, xvalentines, xeaster, xsuperbowl, xjulyfourth are constants and have been removed
Error in eval(expr, envir, enclos) : object 'xmas' not found

我意识到这是因为每个假人只在某些县有所不同。在这种情况下,xmas 始终为 0,因此导致回归崩溃。有没有办法指示 plm 只包括那些不是常量的回归量,而不是收到这个错误?我不能手动进行每个回归,因为有数千个。我也无法合理地为每个虚拟变量创建“if”语句,因为我可能很快会添加更多。有谁知道可以为我执行此操作的命令?非常感谢您提前。

4

0 回答 0