Ошибка в leaps.setup (x, y, wt = wt, nbest = nbest, nvmax = nvmax, force.in = force.in,: NA / NaN / Inf при вызове внешней функции (аргумент 3) - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь использовать функцию пошаговой регрессии 'regsubsets' из 'прыжков', чтобы выполнить анализ cis-eQTL, который рассматривает два SNP одновременно. Но я получаю следующую ошибку.

> dim(datas)
[1] 271 314
> datas[1:5,1:5]
             y     mark_1     mark_2     mark_3    mark_4
c_1 -1.1392173  0.9443526  0.5833727  0.5833727  0.857006
c_2 -0.1954784  0.9443526  0.5833727  0.5833727  0.857006
c_3  0.2143703 -1.0550190  0.5833727  0.5833727 -1.162547
c_4  1.1392173 -1.0550190 -1.7078447 -1.7078447 -1.162547
c_5 -1.6117743 -1.0550190 -1.7078447 -1.7078447 -1.162547
> models <- regsubsets(y ~., data = datas, nvmax = 2, method = "seqrep")
Error in leaps.setup(x, y, wt = wt, nbest = nbest, nvmax = nvmax, force.in = force.in,  : 
  NA/NaN/Inf in foreign function call (arg 3)

когда я использую подмножество этих данных, это может сработать.

>  models <- regsubsets(y ~., data = datas[,1:100], nvmax = 2, method = "seqrep", really.big=T)
Reordering variables and trying again:
Warning message:
In leaps.setup(x, y, wt = wt, nbest = nbest, nvmax = nvmax, force.in = force.in,  :
  42  linear dependencies found
> 
>  models <- regsubsets(y ~., data = datas[,c(1,100:200)], nvmax = 2, method = "seqrep", really.big=T)
Reordering variables and trying again:
Warning message:
In leaps.setup(x, y, wt = wt, nbest = nbest, nvmax = nvmax, force.in = force.in,  :
  34  linear dependencies found
> 
>  models <- regsubsets(y ~., data = datas[,1:200], nvmax = 2, method = "seqrep", really.big=T)
Error in leaps.setup(x, y, wt = wt, nbest = nbest, nvmax = nvmax, force.in = force.in,  : 
  NA/NaN/Inf in foreign function call (arg 3)

в чем может быть проблема? кроме того, есть ли лучший способ сделать эти вещи. Пример данных можно найти в https://docs.google.com/spreadsheets/d/1DXH3iVRAh-KFCgXDe4D4xpyBni6FSFj6K3YpqVWUBE4/edit?usp=sharing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...