考虑以下示例代码:
x = rnorm(100)
y = rnorm(100)
z = x + 2*y + rnorm(100)
model = glm(z ~ y + x + x:y)
foo = update(model, '. ~ . - x')
print(foo)
这导致模型z〜y + y:x而不是我想要的模型z〜y
我想找到一个不涉及正则表达式的快捷方式,并解析:varname,varname:的所有组合,并通过regexp防止部分匹配,以删除涉及该模型单个变量的所有项。
如果有人好奇,我会尝试计算包含交互项在内的变量的平方r平方,然后尝试以编程方式进行。
drop1实际上会为我运行整个循环,测试所有变量,但是当低阶项消失时,它不会删除交互项。