У меня проблема с тем, как агрегат или N / A обрабатывает суммы.
Я хотел бы получить суммы на код зоны из следующей таблицы
test <- read.table(text = "
area.code A B C D
1 0 NA 0.00 NA NA
2 1 0.0 3.10 9.6 0.0
3 1 0.0 3.20 6.0 0.0
4 2 0.0 6.10 5.0 0.0
5 2 0.0 6.50 8.0 0.0
6 2 0.0 6.90 4.0 3.1
7 3 0.0 6.70 3.0 3.2
8 3 0.0 6.80 3.1 6.1
9 3 0.0 0.35 3.2 6.5
10 3 0.0 0.67 6.1 6.9
11 4 0.0 0.25 6.5 6.7
12 5 0.0 0.68 6.9 6.8
13 6 0.0 0.95 6.7 0.0
14 7 1.2 NA 6.8 0.0
")
Итак, кажется довольно просто:
aggregate(.~area.code, test, sum)
area.code A B C D
1 1 0 6.30 15.6 0.0
2 2 0 19.50 17.0 3.1
3 3 0 14.52 15.4 22.7
4 4 0 0.25 6.5 6.7
5 5 0 0.68 6.9 6.8
6 6 0 0.95 6.7 0.0
Видимо, не все так просто, потому что код области 7 полностью исключен из команды aggregate ().
Однако я хотел бы, чтобы N / As полностью игнорировались или вычислялись как нулевые значения. Какая команда na = дает эту опцию?
замена всех N / As на 0 - вариант, если я просто хочу получить сумму ... но тогда среднее значение действительно проблематично (поскольку оно больше не может различать 0 и N / A)