R - 总和和总和值

问题描述 投票:1回答:1

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

我有一个数据框如下:

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

我做错了什么,我怎么能解决这个问题?

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

r aggregate
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.