我想在statsmodels中运行一个回归,使用分类变量和聚类标准误差。
我的数据集包含机构、处理、年份和注册人数列。处理是一个虚拟变量,机构是一个字符串,其他是数字。我已经确保删除了任何空值。
df.dropna()
reg_model = smf.ols("enroll ~ treatment + C(year) + C(institution)", df)
.fit(cov_type='cluster', cov_kwds={'groups': df['institution']})
我遇到了如下问题: 有没有办法解决这个问题,使我的标准误差聚类?
fillna(, inplace=True)
进行替换,然后它就正常工作了。 - tower489dropna
的方式有误。如果没有inplace=True
参数,df.dropna()
只是返回一个不包含空值的 DataFrame 副本 - 它并不会将其保存到df
对象中。此外,如果有更多的变量而你只想在回归的子集中删除空值,你还需要使用subset
参数。你可以改为使用reg_model = smf.ols("enroll ~ treatment + C(year) + C(institution)", df.dropna(subset = ['enroll','treatment','year','institution']))
。 - Gene Burinsky