Подтвердить что ты не робот

Как суммировать значения столбца data.frame?

У меня есть фрейм данных с несколькими столбцами; некоторые числовые и некоторые символы. Как вычислить сумму определенного столбца? Я гуглил для этого и вижу множество функций (sum, cumsum, rowsum, rowSums, colSums, aggregate, apply) но я не могу понять все это.

Например, предположим, что у меня есть фрейм данных people со следующими столбцами

people <- read(
  text = 
    "Name Height Weight
    Mary 65     110
    John 70     200
    Jane 64     115", 
  header = TRUE
)
…

Как я могу получить сумму всех весов?

4b9b3361

Ответ 1

Вы можете просто использовать sum(people$Weight).

sum суммирует вектор, а people$Weight извлекает столбец веса из вашего фрейма данных.

Примечание. Вы можете получить встроенную справку, используя ?sum, ?colSums и т.д. (кстати, colSums предоставит вам сумму для каждого столбца).

Ответ 2

Если в столбце есть значения "NA", то

sum(as.numeric(JuneData1$Account.Balance), na.rm = TRUE)

Ответ 3

заказать после резюме:

order(colSums(people),decreasing=TRUE)

если больше 20+ столбцов

order(colSums(people[,c(5:25)],decreasing=TRUE) ##in case of keeping the first 4 columns remaining.

Ответ 4

Для суммирования значений в data.frame сначала нужно извлечь их как вектор.

Есть несколько способов сделать это:

# $ operatior
x <- people$Weight
x
# [1] 65 70 64

Или используя [, ] аналогично матрице:

x <- people[, 'Weight']
x
# [1] 65 70 64

Получив вектор, вы можете использовать любую вектор-скалярную функцию для агрегирования результата:

sum(people[, 'Weight'])
# [1] 199

Если в ваших данных есть значения NA, вам следует указать параметр na.rm:

sum(people[, 'Weight'], na.rm = TRUE)