R中的dglm()函数,给出错误;错误:内循环1;“无法更正步长”;
我正在R中使用以下参数运行dglm()函数R中的dglm()函数,给出错误;错误:内循环1;“无法更正步长”;,r,bioinformatics,glm,R,Bioinformatics,Glm,我正在R中使用以下参数运行dglm()函数 obj=dglm(sigdat~genotypes, ~genotypes, family="gaussian") 基因型是包含“1”s、“0”s、“2”s的载体,有时还包含NA。矢量如下所示: 1 1 1 1 NA NA NA 1 1 NA 1 NA NA 1 1 1 NA 1 1 NA 1 1 1 0 1 2 1 1 1 1 NA 1 1 1 NA 1 0 1 0 0 NA NA 1
obj=dglm(sigdat~genotypes, ~genotypes, family="gaussian")
基因型是包含“1”s、“0”s、“2”s的载体,有时还包含NA。矢量如下所示:
1 1 1 1 NA NA NA 1 1 NA 1 NA NA 1 1 1 NA 1 1 NA 1 1 1 0 1 2 1 1 1 1 NA 1 1 1 NA 1 0 1 0 0 NA NA 1 1 NA NA 1 1 NA NA 0 1 NA 1 0 NA 2 0 2 1 1 1 0 0 1 1 0 0 > 0 1 0 1 1 1 2 1 1 0 0 1 1 0 NA NA 0 0 1 1 1 0 1 0 0 1 0 1 2 2 0 1 0 2 2 2 1 0 1 2 0 0 1 1 > 0 1 0 0 2 0 1 0 0 0 1 2 0 0 0 0 1 1 1 0
0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 NA 1 NA 1 1 0 0 0 NA 0 1 1 NA 1 1 NA 0 1
Sigdat也是命名值的向量,长度为173,范围为7.838156到12.216716。我得到的全部错误是
错误:内部循环1;无法更正步长。此外:警告
消息:由于分歧,步长被截断“
有人知道潜在的问题是什么吗。我很想说,这很可能是NA值,但以前我使用包含NAs的向量运行dglm时,它运行得很好
谢谢。我尝试用sigdat(随机数据)重复您的错误,它运行良好
> genotipes <-as.integer(read.table("test"))
> print(genotipes)
[1] 1 1 1 1 NA NA NA 1 1 NA 1 NA NA 1 1 1 NA 1 1 NA 1 1 1 0 1
[26] 2 1 1 1 1 NA 1 1 1 NA 1 0 1 0 0 NA NA 1 1 NA NA 1 1 NA NA
[51] 0 1 NA 1 0 NA 2 0 2 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 2
[76] 1 1 0 0 1 1 0 NA NA 0 0 1 1 1 0 1 0 0 1 0 1 2 2 0 1
[101] 0 2 2 2 1 0 1 2 0 0 1 1 0 1 0 0 2 0 1 0 0 0 1 2 0
[126] 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0
[151] 1 1 1 0 0 NA 1 NA 1 1 0 0 0 NA 0 1 1 NA 1 1 NA 0 1
> sigdat <- runif(173, min=7.838156, max=12.216716)
> print(sigdat)
[1] 8.164565 9.223345 8.439246 8.227279 10.172413 8.091817 12.126232
[8] 10.536475 10.167364 9.082484 9.389653 9.513645 9.137163 9.781100
[15] 8.814883 10.421745 9.872411 8.102019 11.428681 11.837832 9.303294
[22] 8.523125 8.789876 11.365426 10.069347 10.833913 10.181413 11.598061
[29] 10.487968 10.134750 8.968379 9.036283 11.933692 10.883801 8.481673
[36] 8.423131 9.264636 12.153799 9.026763 11.930977 11.659548 9.148677
[43] 9.756252 11.877009 9.862082 9.712747 10.457573 8.347946 12.118668
[50] 9.555714 9.675015 8.193812 10.279953 11.913010 10.863107 9.483558
[57] 9.519554 8.324625 7.955224 9.496308 8.489656 10.293955 8.410663
[64] 8.630919 11.340333 9.827923 9.871566 9.869727 12.209274 9.081300
[71] 9.259319 8.758539 8.981387 9.158397 12.127099 10.450115 9.150297
[78] 9.736365 11.078254 9.245852 11.775775 11.067813 12.131775 10.432952
[85] 10.739051 10.746415 8.696789 10.487730 8.121235 8.932307 11.926244
[92] 8.955440 11.976928 9.012049 9.555102 9.780099 9.986461 8.325373
[99] 9.177810 11.364752 10.736964 8.219354 9.824370 11.742594 9.864048
[106] 9.796147 10.875237 8.347606 9.425566 10.213180 10.197094 8.900947
[113] 11.981119 10.928866 11.948294 8.354651 9.286106 11.929182 12.111513
[120] 9.518337 9.068797 9.981398 10.349214 8.183307 9.762729 9.532264
[127] 8.991893 9.384712 11.526429 10.243375 9.573278 8.649212 9.587841
[134] 10.155530 12.177552 11.183031 9.276300 9.298656 11.295141 11.149660
[141] 11.543361 10.384034 10.700608 10.926887 9.253857 11.109589 10.099698
[148] 8.308365 9.168018 8.588283 11.774686 8.131716 9.680154 8.967000
[155] 9.194656 9.379713 10.405795 11.925596 7.976078 12.059893 10.897506
[162] 11.557008 10.809068 10.821594 8.750122 10.744927 9.254222 10.265814
[169] 8.566293 10.414132 8.342177 11.068735 11.124901
> obj <- dglm(sigdat~genotipes, ~genotipes, family="gaussian")
> print(obj)
Call: dglm(formula = sigdat ~ genotipes, dformula = ~genotipes, family = "gaussian")
Coefficients:
(Intercept) genotipes
10.1377 -0.2519
Degrees of Freedom: 147 Total (i.e. Null); 146 Residual
Null Deviance: 150.5
Residual Deviance: 148 AIC: NA
甚至,我可以描绘:
谷歌说,
这是由于采样值的高度自相关。
> typeof(genotipes)
[1] "integer"
> typeof(sigdat)
[1] "double"