R 有效地运行许多简单的LM回归
好的,我有一个数据帧d,看起来有点像这样 A B C D E F F H 0111013 10101012 A是我的响应变量。现在我可以像这样运行一系列Lm回归 lm.b(我假设重复的R 有效地运行许多简单的LM回归,r,dplyr,regression,R,Dplyr,Regression,好的,我有一个数据帧d,看起来有点像这样 A B C D E F F H 0111013 10101012 A是我的响应变量。现在我可以像这样运行一系列Lm回归 lm.b(我假设重复的F行在这里是一个单独的变量) 然后使用dplyr::do将您的glm应用于每一组值和响应(A),并按变量分组(B:H) (我假设重复的F行在这里是一个单独的变量) 然后使用dplyr::do将您的glm应用于每一组值和响应(A),并按变量分组(B:H) 为了补充jayelm的答案,您可以使用这个奇妙的包来进一步处理
F
行在这里是一个单独的变量)
然后使用dplyr::do
将您的glm
应用于每一组值和响应(A
),并按变量分组(B:H
)
(我假设重复的F
行在这里是一个单独的变量)
然后使用dplyr::do
将您的glm
应用于每一组值和响应(A
),并按变量分组(B:H
)
为了补充jayelm的答案,您可以使用这个奇妙的包来进一步处理生成的数据集
library(broom)
您可以查看所有单独的回归:
tidy(lms, lm)
# A tibble: 14 x 6
# Groups: Variable [8]
Variable term estimate std.error statistic p.value
<chr> <chr> <dbl> <dbl> <dbl> <dbl>
1 B (Intercept) 23.6 79462 0.000297 1.000
2 B Value - 47.1 112376 -0.000419 1.000
3 C (Intercept) 0.000000000000000471 1.41 0.000000000000000333 1.000
4 D (Intercept) 23.6 79462 0.000297 1.000
5 D Value - 47.1 112376 -0.000419 1.000
6 E (Intercept) 0.000000000000000471 1.41 0.000000000000000333 1.000
7 F (Intercept) 23.6 79462 0.000297 1.000
8 F Value - 47.1 112376 -0.000419 1.000
9 F2 (Intercept) - 70.7 177682 -0.000398 1.000
10 F2 Value 47.1 112376 0.000419 1.000
11 G (Intercept) - 23.6 79462 -0.000297 1.000
12 G Value 47.1 112376 0.000419 1.000
13 H (Intercept) 118 286504 0.000411 1.000
14 H Value - 47.1 112376 -0.000419 1.000
tidy(lms,lm)
#一个tibble:14x6
#组:变量[8]
变量项估计标准误差统计p值
1 B(截距)23.6 79462 0.000297 1.000
2 B值-47.112376-0.000419 1.000
3 C(截距)0.000000000000000471.41 0.000000000000000333 1.000
4D(截距)23.679462 0.000297 1.000
5D值-47.112376-0.000419 1.000
6 E(截距)0.000000000000000471.41 0.000000000000000333 1.000
7 F(截距)23.6 79462 0.000297 1.000
8 F值-47.112376-0.000419 1.000
9 F2(截距)-70.7177682-0.0003981.000
10 F2值47.112376 0.000419 1.000
11克(截距)-23.6 79462-0.000297 1.000
12克值47.112376 0.000419 1.000
13小时(截距)118 286504 0.000411 1.000
14小时值-47.112376-0.000419 1.000
获取每个模型的摘要:
glance(lms, lm)
# A tibble: 8 x 8
# Groups: Variable [8]
Variable null.deviance df.null logLik AIC BIC deviance df.residual
<chr> <dbl> <int> <dbl> <dbl> <dbl> <dbl> <int>
1 B 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
2 C 2.77 1 -1.39 4.77 3.47 2.77 1
3 D 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
4 E 2.77 1 -1.39 4.77 3.47 2.77 1
5 F 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
6 F2 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
7 G 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
8 H 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
一瞥(lms,lm)
#一个tibble:8x8
#组:变量[8]
变量null.DEVANCE df.null logLik AIC BIC DEVANCE df.残差
1 B 2.77 1-0.000000000117 4.00 1.39 0.000000000233 0
2 C 2.77 1-1.39 4.77 3.47 2.77 1
3 D 2.77 1-0.000000000117 4.00 1.39 0.000000000233 0
4 E 2.77 1-1.39 4.77 3.47 2.77 1
5 F 2.77 1-0.000000000117 4.00 1.39 0.000000000233 0
6 F2 2.77 1-0.000000000117 4.00 1.39 0.000000000233 0
7 G 2.77 1-0.000000000117 4.00 1.39 0.000000000233 0
8 H 2.77 1-0.000000000117 4.00 1.39 0.000000000233 0
并获得预测、残差等:
head(augment(lms, lm))
# A tibble: 6 x 10
# Groups: Variable [3]
Variable A Value .fitted .se.fit .resid .hat .sigma .cooksd .std.resid
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 B 0 1.00 -23.6 79462 0 1.00 0 NA NA
2 B 1.00 0 23.6 79462 0 1.00 0 NA NA
3 C 0 1.00 0.000000000000000471 1.41 -1.18 0.500 NaN 2.00 - 1.67
4 C 1.00 1.00 0.000000000000000471 1.41 1.18 0.500 Inf 2.00 1.67
5 D 0 1.00 -23.6 79462 0 1.00 0 NA NA
6 D 1.00 0 23.6 79462 0 1.00 0 NA NA
head(增大(lms,lm))
#一个tibble:6x10
#组:变量[3]
变量A值.fitted.se.fit.resid.hat.sigma.cooksd.std.resid
1 B 0 1.00-23.6 79462 0 1.00 NA
2 B 1.00 0 23.6 79462 0 1.00 NA
3 C 0 1.00 0.000000000000000471 1.41-1.18 0.500 NaN 2.00-1.67
4 C 1.00 1.00 0.000000000000000471 1.41 1.18 0.500 Inf 2.00 1.67
5 D 0 1.00-23.6 79462 0 1.00 NA
6 D 1.00 23.6 79462 0 1.00 NA
请注意,
lms
是使用do()
语法创建的TIBLE的名称,lm
是实际保存模型结果的变量的名称。只需添加到jayelm的答案中,您就可以使用奇妙的包进一步处理结果数据集
library(broom)
您可以查看所有单独的回归:
tidy(lms, lm)
# A tibble: 14 x 6
# Groups: Variable [8]
Variable term estimate std.error statistic p.value
<chr> <chr> <dbl> <dbl> <dbl> <dbl>
1 B (Intercept) 23.6 79462 0.000297 1.000
2 B Value - 47.1 112376 -0.000419 1.000
3 C (Intercept) 0.000000000000000471 1.41 0.000000000000000333 1.000
4 D (Intercept) 23.6 79462 0.000297 1.000
5 D Value - 47.1 112376 -0.000419 1.000
6 E (Intercept) 0.000000000000000471 1.41 0.000000000000000333 1.000
7 F (Intercept) 23.6 79462 0.000297 1.000
8 F Value - 47.1 112376 -0.000419 1.000
9 F2 (Intercept) - 70.7 177682 -0.000398 1.000
10 F2 Value 47.1 112376 0.000419 1.000
11 G (Intercept) - 23.6 79462 -0.000297 1.000
12 G Value 47.1 112376 0.000419 1.000
13 H (Intercept) 118 286504 0.000411 1.000
14 H Value - 47.1 112376 -0.000419 1.000
tidy(lms,lm)
#一个tibble:14x6
#组:变量[8]
变量项估计标准误差统计p值
1 B(截距)23.6 79462 0.000297 1.000
2 B值-47.112376-0.000419 1.000
3 C(截距)0.000000000000000471.41 0.000000000000000333 1.000
4D(截距)23.679462 0.000297 1.000
5D值-47.112376-0.000419 1.000
6 E(截距)0.000000000000000471.41 0.000000000000000333 1.000
7 F(截距)23.6 79462 0.000297 1.000
8 F值-47.112376-0.000419 1.000
9 F2(截距)-70.7177682-0.0003981.000
10 F2值47.112376 0.000419 1.000
11克(截距)-23.6 79462-0.000297 1.000
12克值47.112376 0.000419 1.000
13小时(截距)118 286504 0.000411 1.000
14小时值-47.112376-0.000419
glance(lms, lm)
# A tibble: 8 x 8
# Groups: Variable [8]
Variable null.deviance df.null logLik AIC BIC deviance df.residual
<chr> <dbl> <int> <dbl> <dbl> <dbl> <dbl> <int>
1 B 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
2 C 2.77 1 -1.39 4.77 3.47 2.77 1
3 D 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
4 E 2.77 1 -1.39 4.77 3.47 2.77 1
5 F 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
6 F2 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
7 G 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
8 H 2.77 1 -0.000000000117 4.00 1.39 0.000000000233 0
head(augment(lms, lm))
# A tibble: 6 x 10
# Groups: Variable [3]
Variable A Value .fitted .se.fit .resid .hat .sigma .cooksd .std.resid
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 B 0 1.00 -23.6 79462 0 1.00 0 NA NA
2 B 1.00 0 23.6 79462 0 1.00 0 NA NA
3 C 0 1.00 0.000000000000000471 1.41 -1.18 0.500 NaN 2.00 - 1.67
4 C 1.00 1.00 0.000000000000000471 1.41 1.18 0.500 Inf 2.00 1.67
5 D 0 1.00 -23.6 79462 0 1.00 0 NA NA
6 D 1.00 0 23.6 79462 0 1.00 0 NA NA