我有dataframe,其中有253行(染色体上的位置,Mbps)和1列(每个位置的等位基因得分)。我需要产生一个数据帧,其中包含染色体上每0.5 Mbps等位基因得分的平均值。请帮助使用可以执行此操作的R代码。感谢。
答案 0 :(得分:0)
这种情况下的图片足以构建答案,但不足以支持测试。您应该学会以不需要手动重新输入的形式发布数据。 (这就是你积累反对票的原因。)
基本的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)