Фильтровать каждый кадр данных в списке по значению столбца в R - PullRequest
0 голосов
/ 30 января 2020

У меня есть список из 18 фреймов данных, все выглядят похожими на это:

 Gene ID    HMMER   Hotpep  DIAMOND #ofTools
actino_5_2__00070   GT20(2-473) GT20(5) GT20    3
actino_5_2__00270   CE1(65-331) -   -   1
actino_5_2__00610   GT4(224-382)    GT4(7)  GT4 3
actino_5_2__00950   GH3(26-242) GH3(2)  GH3 3
actino_5_2__01300   GH23(67-175)    -   -   1
actino_5_2__01490   GT4(381-524)    GT4(82) GT4 3
actino_5_2__01990   CE1(114-349)    -   -   1

Я хочу отфильтровать каждый фрейм данных в списке, но значение последнего столбца>> 2. Так много это filt_comb_data = comb_data[comb_data$X >= 2,] но для списка. Я начал с использования lapply со следующим:

filt_datalist = lapply(datalist, function(x){
  x[x[5],] >= 2
})

Но я получаю эту ошибку:

Error in `[.default`(xj, i) : invalid subscript type 'list' 

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 30 января 2020
filt_datalist = lapply(datalist, function(x){
    x[x[, 5] >= 2,]
})

Так и должно быть. Вы берете фрейм данных (x) и фильтруете все, где 5-й столбец (x[, 5]) равен >= 2.

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