为什么R的logit函数中的adjust选项无法调整我的数据?

时间:2016-01-09 19:28:01

标签: r

我需要找出为什么R的logit函数(包“car”)中的adjust选项似乎不起作用。

我在具有450K记录的数据文件的项目上使用R 3.2.2。该文件包含五列:四个离散变量(允许值0,1,2或3)和响应变量“sharer_prob”(允许值0 - 1 - 数据集包含无值= 0,但很多= 1) 。

因为看起来logit在大文件上呕吐(我在这台机器上只有8GB的RAM),我创建了一个没有替换的随机样本(“sampleset”包含4125条记录,R应该能够处理,对吧?)。该文件的前30行如下所示:

Index    Sympathy Trust Fear Greed  sharer_prob
817394        2     2    1     2    0.369541
167050        1     1    3     2    0.715611
822867        2     3    2     0    0.818810
323684        2     1    0     0    0.636559
515278        2     2    2     0    0.947242
133239        3     3    0     0    0.938594
459271        3     2    0     0    0.647838
29310         3     2    1     1    0.749249
534875        2     2    2     3    0.608888
656900        3     2    0     0    0.653784
418271        3     2    1     0    0.539343
616221        2     1    0     0    0.600135
592467        3     3    0     0    0.798354
905925        3     2    0     0    0.797031
612514        1     1    3     2    0.554193
8564          1     1    3     2    0.498373
319957        3     3    0     0    1.000000
867410        3     2    0     0    0.581564
551327        3     2    0     0    0.671110
864973        3     3    0     0    1.000000
450469        3     1    2     0    0.578244
877834        2     1    0     0    0.291015
410507        3     3    0     0    0.705201
198044        3     3    0     0    0.772060
548567        3     2    0     0    0.799164
435068        3     2    0     0    0.805771
518144        3     2    1     1    0.396816
609747        3     3    0     0    0.814917
398375        2     1    0     0    0.428143
854396        1     1    3     2    0.511154

因为我试图识别输入变量对之间的重要交互效果,所以我使用以下代码创建交互术语:

IX_greed <- sampleset$greed * sampleset$sharer_prob
IX_sympathy <- sampleset$sympathy * sampleset$sharer_prob
IX_fear <- sampleset$fear * sampleset$sharer_prob
IX_trust <- sampleset$trust * sampleset$sharer_prob

我使用这行代码尝试回归响应变量logit中的一对(sharer_prob):

lm.FG=lm( logit( sharer_prob, adjust=TRUE ) ~ IX_fear * IX_greed, na.action=NULL, data=sampleset )

但是R给出了以下错误,表示无法将值调整为1到0.975:

**Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 
  NA/NaN/Inf in 'y'**

谁能告诉我我做错了什么以及如何解决?

非常感谢您提供的任何帮助。

拉里·约翰

0 个答案:

没有答案