R - совокупное и неправильное значение суммы - PullRequest
0 голосов
/ 04 сентября 2018

У меня возникла проблема при обработке некоторых данных.

У меня есть датафрейм, который выглядит следующим образом:

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

Что я сделал не так и как я мог это исправить?

Я больше биолог, чем программист.

1 Ответ

0 голосов
/ 04 сентября 2018

Сначала проверьте, какой тип данных содержится в вашем 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)
...