首页 > 解决方案 > R - 汇总和错误的总和值

问题描述

我在处理一些数据时遇到了问题。

我有一个数据框,如下所示:

Chrom Avg_Coverage

1000568 21.88194
1000568 1.25642
1000568 1.22052
1000568 1.04954
1000568 0.81894
1000568 0.12160
1000568 0.00000
1000568 0.00000
1000568 0.00000

我正在尝试获取Avg_Coverage所有相同值的总和,因此我使用以下代码来执行此操作:

df[] <- lapply(df, function(x) type.convert(as.character(x)))
df_result=aggregate(. ~Chrom, df, sum)

(来自综合:总和对因素没有意义,因为我的数据是因素)

没有错误,但结果不正确,请参阅:

Chrom Avg_Coverage
1000568 10400

我做错了什么,我该如何解决这个问题?

我更像是生物学家而不是程序员。

标签: raggregate

解决方案


首先,检查 data.frame 中的数据类型:

str(df)

不管是什么Chrom,但你想Avg_Coverage成为数字(或双精度)。如果str报告这Avg_Coverage是一个因素,则使用此代码将其转换为数字

df$Avg_Coverage <- as.numeric(as.character(df$Avg_Coverage))

然后得到你的总和:

aggregate(Avg_Coverage ~ Chrom, df, sum)

推荐阅读