在python中,我使用以下代码创建了一个回归模型:
import statsmodels.formula.api as sm
df = pd.DataFrame({"A": data['dur'], "B": data['agreement'], "C": data['vidPersonIdeoDiff'], "D": data['opinionChange'], "G": data['fake']})
result = sm.ols(formula="A ~ B + C + D + G", data=df).fit()
print(result.params)
print(result.summary())现在,我感兴趣的是向同一回归添加一个条件或“if-statement”。我如何运行它,但只针对特定的组,例如如果年龄< 36岁?在Stata中,等效项为:
reg dur agreement vidPersonIdeoDiff opinionChange fake if age < 36你知道如何在python中复制stata代码行吗?如果解决方案与我一直使用的statsmodels.formula.api模块一致,这将特别有帮助。谢谢!
发布于 2017-07-12 23:21:14
假设'age‘是你有条件的变量:
result = sm.ols(formula="A ~ B + C + D + G", data=df[data['age']<36]).fit()https://stackoverflow.com/questions/45061576
复制相似问题