如何计算 R 中行值间隔的列平均值?

How to calculate column mean at intervals of row values in R?

我有 dataframe,它有 253 行(染色体上的位置,以 Mbps 为单位)和 1 列(每个位置的等位基因得分)。我需要生成一个数据框,其中包含染色体上每 0.5 Mbps 的等位基因得分的平均值。请帮助可以执行此操作的 R 代码。谢谢。

本例中的图片足以构建答案,但不足以支持测试。您应该学习 post 不需要手动 re-entry 的形式的数据。 (这就是你累积反对票的原因。)

基本的 R 策略是使用 cut 创建分组变量,然后使用循环构造来累加和应用均值函数。大概这是在一个数据框中,我假设它被命名为特定的东西,比如 my_alleles:

 tapply( my_alleles$Allele_score,    # act on this vector
                                     # in groups defined by this factor
         cut(my_alleles$Location, 
             breaks=seq(0, max(my_alleles$Location), by=0.5)
             ), 
                                     # with this function
         FUN=mean)