【发布时间】:2019-06-27 21:02:25
【问题描述】:
我正在尝试循环多重线性回归并自动删除没有至少两个级别的因子以避免以下错误消息:
contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]]) 中的错误:对比只能应用于具有 2 个或更多级别的因子*
现在我的代码是:
df %>%
group_by(crop_name) %>%
do(tidy(lm(formula = value ~ intercrop +
erosion_c + purchased_seed + inorg_pest +
org_pest + landscape + fert + inorgfert,
data = . )))
问题是,一些作物的样本量很大,我要回归的所有变量都有很多点,而另一些作物的样本量非常小,并且零接受了给定的处理(即没有血果作物间作, 等等。)。
有没有办法在 for 循环中告诉 R 回归它可以做的事情,放弃其他所有内容,并避免出现此错误消息?
【问题讨论】:
-
您可以使用“表”来识别问题组合。您可能需要忽略不是主要问题的变量。
-
听起来可以通过
nest()、filter()和purrr:map()实现。如果您可以发布一些示例数据,我很乐意给您举个例子。
标签: r for-loop linear-regression tidy