我正在尝试将GLM拟合到一个小数据集中,该数据集由5列变量y,x1,x2,x3,x4和24行数据组成。 这本身不是问题,但是使用这些预测变量可能有2 ^ 4个模型。我正在尝试编写一个函数,它将为所有不同的模型创建一个GLM,并将系数与AIC值一起返回到1个表中。任何人都可以帮助我吗?
数据集如下所示:
i y x1 x2 x5 x7
1 29.5 5.0208 1.0 2.0 4
2 27.9 4.5429 1.0 1.0 3
3 25.9 4.5573 1.0 1.0 3
4 29.9 5.0597 1.0 1.0 3
5 29.9 3.8910 1.0 1.0 3
6 30.9 5.8980 1.0 1.0 3
7 28.9 5.6039 1.0 0.0 3
8 35.9 5.8282 1.0 2.0 3
9 31.5 5.3003 1.0 1.0 3
10 31.0 6.2712 1.0 1.0 2
11 30.9 5.9592 1.0 2.0 3
12 30.0 5.0500 1.0 0.0 2
13 36.9 8.2464 1.5 2.0 4
14 41.9 6.6969 1.5 1.5 3
15 40.5 7.7841 1.5 1.0 3
16 43.9 9.0384 1.0 1.5 3
17 37.5 5.9894 1.0 2.0 3
18 37.9 7.5422 1.5 1.0 3
19 44.5 8.7951 1.5 2.0 4
20 37.9 6.0831 1.5 1.0 3
21 38.9 8.3607 1.5 2.0 4
22 36.9 8.1400 1.0 2.0 3
23 45.8 9.1416 1.5 1.5 4
24 25.9 4.9176 1.0 1.0 4
输入是:
structure(list(y = c(29.5, 27.9, 25.9, 29.9, 29.9, 30.9, 28.9,
35.9, 31.5, 31, 30.9, 30, 36.9, 41.9, 40.5, 43.9, 37.5, 37.9,
44.5, 37.9, 38.9, 36.9, 45.8, 25.9), x1 = c(5.0208, 4.5429, 4.5573,
5.0597, 3.891, 5.898, 5.6039, 5.8282, 5.3003, 6.2712, 5.9592,
5.05, 8.2464, 6.6969, 7.7841, 9.0384, 5.9894, 7.5422, 8.7951,
6.0831, 8.3607, 8.14, 9.1416, 4.9176), x2 = c(1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1.5, 1.5, 1.5, 1, 1, 1.5, 1.5, 1.5, 1.5,
1, 1.5, 1), x5 = c(2, 1, 1, 1, 1, 1, 0, 2, 1, 1, 2, 0, 2, 1.5,
1, 1.5, 2, 1, 2, 1, 2, 2, 1.5, 1), x7 = c(4, 3, 3, 3, 3, 3, 3,
3, 3, 2, 3, 2, 4, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 4)), .Names = c("y",
"x1", "x2", "x5", "x7"), row.names = c("1", "2", "3", "4", "5",
"6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16",
"17", "18", "19", "20", "21", "22", "23", "24"), class = "data.frame")
答案 0 :(得分:0)
几年前我使用glmulti软件包(下面的链接)来做类似的事情。我不知道它是否适用于您的问题(您应该发布您的数据或数据的子集,以便人们可以尝试一下)。