首页 > 解决方案 > R统计:glm

问题描述

我使用 Excel 中的 .csv。我最近添加了一个“bmi”变量。不幸的是,它被分析为不同级别的“bmi”,而不是作为连续变量(下面的输出)。我已经尝试确保它是数字但没有改进。其他连续变量没有问题。

使用示例 3 变量数据集更新了下面的代码。显然导入文件路径需要更改。然后我经历了子集的两个阶段。

su_data 子集导致“glm.fit:算法未收敛”的第二个问题。如果我使用 nitech1 数据集,则不会发生这种情况。但是,没有明显的收敛,通常我会包含更多变量,使其更不可能。

    nitech <- read.csv("~/Documents/Publications/2020 NI_tech/Data/nitech.csv", stringsAsFactors = F)
head(nitech)
attach(nitech)
nitech1<-subset(nitech, 1/1305 & route=="ni" & t_1==1)
attach(nitech1)
data_su<-subset(nitech1, posn_neg_5>-3)
attach(data_su)
mod_su1<-glm(posn_neg_5>-2~a2+bmi, data = data_su, family=binomial(link="logit"))
summary(mod_su1)

posn_neg_5
bmi
a2
1
21.875
22
3
NA
23
-1
23.24380165
24
4
NA
25
5
24.04934359
26
4
21.79930796
27
4
NA
28
5
40.03673095
29
4
28.73467206
30
-1
24.05693475
31
3
32.32653061
16
4
19.04700413
21
5
27.08415907
25
2
28.125
15
-2
25.05930703
25
5
29.96878252
34
1
21.44756785
11
5
21.44756785
11
5
27.15271059
21
4
19.35020755
14
2
18.7260073
15
5
25.81663021
18
1
27.1430375
12
4
35.10667027
18
5
27.17063157
5
2
34.81611682
2
2
20.89795918
12
4
24.54346238
3
4
24.93074792
3
5
31.22130395
11
1
27.734375
14
1
23.88844098
8
5
23.8497766
10
-1
27.76620852
32
4
24.38652644
15
5
23.57391519
11
5
24.1516725
8
1
24.07407407
5
-2
25.82644628
23
5
21.46193662
7
5
30.07116843
16
-2
18.99196494
11
4
22.8774057
4
4
16.49395819
NA
4
25.61728395
5
4
35.01992513
17
-1
23.89325888
36
4
22.92097107
8
2
21.2244898
2
5
20.81165453
7
4
21.70512943
NA
-2
NA
7
4
31.7417889
9
5
28.73467206
15
5
19.72318339
22
4
20.82093992
13
4
28.6801111
14
5
32.87197232
14
5
31.60321237
19
4
21.70512943
5
4
18.44618056
5
5
18.68512111
NA
-1
23.45679012
10
1
30.0432623
14
4
27.88761707
NA
5
41.46938776
18
4
24.96800974
NA
1
21.44756785
11
4
23.57391519
11
3
23.89325888
36
4
23.89325888
36
4
20.82093992
13
5
28.6801111
14
5
28.73467206
15
5
17.90885536
13
4
15.00207476
NA
4
23.71184463
19
4
29.3877551
19
4
20.95717116
12
3
35.15625
18
5
24.53512397
15
4
25.86451247
20
3
17.90885536
13
4
23.71184463
19
2
27.91551882
13
4
35.85643085
NA
4
24.69135802
NA
4
35.2507611
35
5
19.13580247
NA
4
25.18078512
16
4
28.3446712
17
1
31.60321237
8
4
NA
NA
5
27.85200798
17
4
21.13271344
5
4
20.08827524
NA
5
22.58955144
25
4
17.96875
16
5
29.93759487
9
5
24.69135802
9
5
28.125
8
5
25.96952909
NA
4
19.80534178
5
4
22.09317005
26
4
16.23307275
12
4
22.85714286
7
4
32.24993701
29
4
32.24993701
29
4
27.75510204
17
-1
22.22222222
8
5
30.93043808
NA
5
30.93043808
15
5
26.42356982
6
5
33.65929705
15
2
24.34380949
9
4
24.34380949
7
1
27.17063157
9
5
37.73698829
NA
5
37.73698829
NA
1
23.30668005
11
-1
24.22145329
31
5
34.10798936
11
5
34.10798936
11
5
34.10798936
11
4
24.22145329
31
-1
18.04270106
NA
4
22.265625
25
5
34.10798936
11
2
25.86120485
34
-4
27.40765728
18
3
27.40765728
18
5
20.10916403
7
2
20.60408163
25
NA
24.77209671
24
1
22.49134948
NA
4
22.49134948
10
3
23.62444749
27
1
24.09297052
NA
5
24.1671624
13
-2
24.91349481
7
1
25.53544639
10
1
27.6816609
8
5
22.85714286
10
4
22.85714286
10
5
25.2493372
6
4
21.79930796
20
4
22.85714286
10
4
25.35154137
21
4
26.2345679
7
4
26.86873566
19
4
23.58832922
14
5
60.85439572
11
3
21.79930796
20
5
23.58832922
14
4
25.71166208
29
3
23.45679012
5
5
31.8877551
NA
-1
31.38510306
15
4
33.87406376
16
5
31.38510306
15
4
38.20018365
NA
3
31.38510306
15
3
29.20110193
25
5
31.99217133
NA
5
29.9940488
6
1
26.81359045
28
4
27.54820937
20
5
27.54820937
5
4
23.67125363
36
4
22.22222222
17
4
23.67125363
36
4
27.04164413
18
5
21.60493827
7
4
21.79930796
20
4
44.79082684
NA
5
43.02771702
NA
4
21.79930796
20
4
22.51606979
NA
4
20.76124567
24
4
22.98539751
23
1
26.56683975
24
4
22.98539751
23
4
29.16869227
8
1
24.75546432
8
5
24.19600671
24
5
30.79338244
NA
NA
NA
NA
2
NA
24
5
24.19600671
24
1
25.95155709
29
4
25.95155709
29
5
20.10916403
7
-1
25.390625
22
4
22.03856749
13
5
21.79930796
NA
5
22.03856749
13
-2
30.07116843
20
5
27.75748722
23
4
20.13476872
NA
4
30.49148654
9
5
27.77427093
12
5
30.0838291
25
3
22.22222222
7
-2
14.34257234
10
4
25.82644628
11
-1
20.10916403
22
4
25.82644628
11
5
23.30109483
27
4
23.30109483
27
5
22.88868802
12
4
26.2345679
9
4
36.22750875
6
5
30.47796622
33
1
22.63467632
4
3
22.03856749
31
5
24.69135802
8
5
25.21735858
21
4
15.1614521
16
5
21.14631991
19
5
30.79338244
NA
-1
27.77777778
12
5
25.66115203
9
5
35.91836735
9
5
26.7818261
19
5
26.7818261
19
-2
22.46003435
22
5
32.32323232
31
2
24.296875
11
4
26.7299275
27
5
24.48979592
9
4
23.03004535
28
5
25.2493372
6
4
20.51508648
8
4
23.87511478
15
-1
27.93277423
21
-1
27.93277423
21
4
20.51508648
8
5
27.77777778
29
4
21.49959688
8
4
28.96473469
6
2
24.69135802
24
5
29.86055123
7
5
21.60493827
17
5
41.86851211
16
5
27.77777778
19
2
28.515625
16
5
24.69135802
24
5
21.50294251
12
5
27.77777778
4
5
25.52059756
15
4
27.38328546
19
4
19.47714681
12
5
25.71166208
26
4
26.12244898
NA
5
21.484375
21
5
32.14024836
23
5
24.25867407
8
5
27.77777778
14
4
21.60493827
11
4
22.69401893
18
4
21.60493827
11
4
21.0498179
15
5
22.67573696
9
4
24.22145329
10
4
29.70801268
10
5
38.62236267
17
4
29.70801268
10
4
29.70801268
10
4
32.39588049
6

标签: rstatistics

解决方案


我会尝试两件事:(1)不要“附加”你的数据集。只要您在 glm 函数调用中指定数据框(正如您已经完成的那样),您就不需要附加。(2) 尝试将您的命令更改为以下内容:

glm(I(posn_neg_5>-2)~a2+bmi, data = data_su, family=binomial(link="logit"))

将函数“I()”放入公式中时,将变量 (pos_neg_5) 映射到新变量 (pos_neg_5>-2)。有时,如果在没有这种映射的情况下将数学包含在公式中,您可能会遇到麻烦。


推荐阅读