R-总计和错误的总和值

时间:2018-09-04 19:24:07

标签: r aggregate

处理某些数据时遇到问题。

我有一个如下数据框:

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)

(来自In aggregate: sum not meaningful for factors,因为我的数据是因素)

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

Chrom Avg_Coverage
1000568 10400

我做错了什么,该如何解决?

我比程序员更像生物学家。

1 个答案:

答案 0 :(得分:0)

首先,检查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)