在R中保存回归方程的最佳方法是什么?

时间:2014-08-05 12:14:41

标签: r regression

我有大量的回归方程,我想在R中保存,我不知道如何有效地做到这一点。例如,

y1 ~ x1 + x2 + x3 + x4  (country A) 
y1 ~ x1 + x2 +      x4  (country B) 
y1 ~ x1 + x2 + x3 + x4  (country C) 
y1 ~         + x3 + x4  (country D) 

理想情况下,我希望能够回答诸如x2发生了多少次? 3。 什么是最常见的变量? x4

我应该将所有内容保存在列表中吗?还是有更好的方法?

2 个答案:

答案 0 :(得分:4)

将它们列入清单:

myformulas <- 
list(a = y1 ~ x1 + x2 + x3 + x4,
     b = y1 ~ x1 + x2 +      x4,
     c = y1 ~ x1 + x2 + x3 + x4,
     d = y1 ~         + x3 + x4)

然后,您可以对它们执行操作,如:

# what variables are in which formulae
> str(lapply(myformulas, function(x) attr(terms(x), 'term.labels')))
List of 4
 $ a: chr [1:4] "x1" "x2" "x3" "x4"
 $ b: chr [1:3] "x1" "x2" "x4"
 $ c: chr [1:4] "x1" "x2" "x3" "x4"
 $ d: chr [1:2] "x3" "x4"

# where is `x1` used?
> str(lapply(myformulas, function(x) 'x1' %in% attr(terms(x), 'term.labels')))
List of 4
 $ a: logi TRUE
 $ b: logi TRUE
 $ c: logi TRUE
 $ d: logi FALSE

# how many times is each variable used?
> table(unlist(lapply(myformulas, function(x) attr(terms(x), 'term.labels'))))
x1 x2 x3 x4 
 3  3  3  4

通过该结构,您可以轻松回答有关使用不同变量的问题。

答案 1 :(得分:0)

你不喜欢这样的模型和glm吗?

y ~ x1 + x2 + x3 + x4 + country

让回归告诉你哪些因素会消失。