суммировать средний медианный фрейм данных R - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть фрейм данных со значениями Fst для разных окон SNP.

Я хотел бы суммировать среднее значение и медиану значений Fst для каждого окна гена:

gene chr    start Nsites     Fst01    Fst02    Fst12


1     AC002310.7  16 30591000      2       1       8.      5
2         ZNF785  16 30591000      2       1       30     1
3     AC002310.7  16 30593000      2       2       4.     10
4         ZNF785  16 30593000      2       3       20.    2
5     AC002310.7  16 30595000      2       3       2.     20
6         ZNF785  16 30595000      2       6.      10.    3

Вывод:

      gene           n   Fst01    Fst02    Fst12     
1     AC002310.7     3    2.        4.      10
2         ZNF785     3    3.       20       2

Я написал что-то вроде этого:

df %>% summarise_at(group_by(df, gene), vars(Fst01, Fst02,Fst12), funs(n(),mean))

, но это дает мне следующую ошибку:

Error: `.vars` must be a character/numeric vector or a `vars()` object, not list
Call `rlang::last_error()` to see a backtrace

Любая помощь, высоко ценится, ура

1 Ответ

0 голосов
/ 20 декабря 2018

Когда вы используете канал, объект с левой стороны передается в качестве первого аргумента функции с правой стороны, поэтому вы должны сделать:

df %>% group_by(gene) %>%  summarise_at(vars(Fst01, Fst02,Fst12), funs(n(),mean))

Таким образом, первыйаргумент group_by равен df, а первый аргумент summarise_at равен df, сгруппирован по gene

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