【问题标题】:summarise mean median data frame R总结平均中位数数据框 R
【发布时间】:2018-12-21 02:32:20
【问题描述】:

我有一个数据框,其中包含不同 SNP 窗口的 F​​st 值。

我想总结一下每个基因窗口的 F​​st 值的平均值和中位数:

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

任何帮助,非常感谢,干杯

【问题讨论】:

    标签: r


    【解决方案1】:

    当您使用管道时,左侧的对象作为第一个参数传递给右侧的函数,因此您可以这样做:

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

    这样group_by的第一个参数是dfsummarise_at的第一个参数是df,由gene分组

    【讨论】:

      猜你喜欢
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 2016-08-01
      • 2013-12-31
      • 2019-03-20
      相关资源
      最近更新 更多