我有大量的回归方程,我想在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
我应该将所有内容保存在列表中吗?还是有更好的方法?
答案 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
让回归告诉你哪些因素会消失。