如何创建for循环以查找R中多个变量之间的交互?

如何创建for循环以查找R中多个变量之间的交互?,r,linear-regression,R,Linear Regression,我有一个17个变量的数据集 可通过此链接获取数据 我想找出变量之间的重要交互作用 比如说 fitcivilian<-lm(Civilian~Stock+Terrorism+log(Firepower)+Payload+Bombs*Temperature+FirstAid+Spies+Personnel+IG88, data=data) 我也做过类似的事情。您需要根据需要修改循环。如果你需要帮助,请告诉我 vars=colnames(mydata)[-1] f

我有一个17个变量的数据集

可通过此链接获取数据

我想找出变量之间的重要交互作用

比如说

    fitcivilian<-lm(Civilian~Stock+Terrorism+log(Firepower)+Payload+Bombs*Temperature+FirstAid+Spies+Personnel+IG88, data=data)

我也做过类似的事情。您需要根据需要修改循环。如果你需要帮助,请告诉我

    vars=colnames(mydata)[-1] 
    for (i in vars)  {
    for (j in vars) {
    if (i != j) {
    factor= paste(i,j,sep='*')}
    lm.fit <- lm(paste("Sales ~", factor), data=mydata)
    print(summary(lm.fit))
    }}
vars=colnames(mydata)[-1]
对于(我在变量中){
用于(单位:瓦特){
如果(i!=j){
因子=粘贴(i,j,sep='*')}

lm.fit谢谢!我可以从那里得到我所需要的。你们都应该意识到,你们正在自动化统计错误。这被称为数据挖掘,并且众所周知会产生无效结果。如果这导致偏差问题并导致过度拟合,模型将验证得非常差。请解释无效re的含义结果。@BondedDust如果我将alpha级别设置为.0001会怎么样?只有17列变量。这肯定会对避免关于重要性的错误结论有很大帮助。选择合适的alpha级别可能会引起一些争论。如果你有17列,则会有136个两列交互,但你的建议是这种情况下的pha水平似乎是合理的,因为(.9999)^136是0.9864914,这与它应该的水平差不多。有一个
p.adjust
功能可能会有所帮助。