Как подсчитать количество вхождений в столбцах в R


Вы можете использовать следующий синтаксис в R для подсчета количества вхождений определенных значений в столбцах фрейма данных:

#count number of occurrences of each value in column
table(df$column_name)

#count number of occurrences of each value (including NA values) in column
table(df$column_name, useNA = 'always')

#count number of occurrences of specific value
length(which(df$column_name== value ))

В следующих примерах показано, как использовать этот синтаксис на практике со следующим фреймом данных:

#create data frame
df <- data.frame(player=c('A', 'B', 'C', 'D', 'E', 'F'),
 team=c('Mavs', 'Mavs', 'Suns', 'Nets', 'Nets', 'Nets'),
 points=c(20, 22, 26, 30, 30, NA))

#view data frame
df

 player team points
1 A Mavs 20
2 B Mavs 22
3 C Suns 26
4 D Nets 30
5 E Nets 30
6 F Nets NA

Пример 1. Подсчет вхождений значений в столбце

В следующем коде показано, как подсчитать количество вхождений каждого значения в столбце «команда»:

#count number of occurrences of each team
table(df$team)

Mavs Nets Suns 
 2 3 1

Это говорит нам:

  • Название команды «Мавс» встречается 2 раза.
  • Название команды «Nets» появляется 3 раза.
  • Название команды «Санз» встречается 1 раз.

Пример 2. Подсчет вхождений значений в столбце (включая значения NA)

В следующем коде показано, как подсчитать количество вхождений каждого значения (включая значения NA) в столбце «точки»:

#count number of occurrences of each value in 'points', including NA occurrences
table(df$points, useNA = 'always')

 20 22 26 30 <NA>
 1 1 1 2 1 

Это говорит нам:

  • Значение 20 появляется 1 раз.
  • Значение 22 появляется 1 раз.
  • Значение 26 появляется 1 раз.
  • Значение 30 появляется 2 раза.
  • Значение NA (отсутствующее значение) появляется 1 раз.

Пример 3. Подсчет вхождений определенного значения в столбце

В следующем коде показано, как подсчитать количество вхождений значения 30 в столбце «точки»:

#count number of occurrences of the value 30 in 'points' column
length(which(df$points == 30 ))

[1] 2

Это говорит нам о том, что значение 30 появляется 2 раза в столбце «баллы».

Вы также можете использовать следующий синтаксис для подсчета количества вхождений нескольких разных значений в столбце «точки»:

#count number of occurrences of the value 30 or 26 in 'points' column
length(which(df$points == 30 | df$points == 26 ))

[1] 3

Это говорит нам о том, что значение 30 или 26 появляется в общей сложности 3 раза в столбце «баллы».

Дополнительные ресурсы

Как суммировать определенные столбцы в R
Как вычислить среднее значение нескольких столбцов в R
Как найти максимальное значение в нескольких столбцах в R