Как выполнить функцию СЧЁТЕСЛИ в R


Часто вас может интересовать только подсчет количества строк во фрейме данных R, которые соответствуют некоторым критериям. К счастью, это легко сделать, используя следующий базовый синтаксис:

sum(df$column == value, na.rm= TRUE )

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

#create data frame
data <- data.frame(team=c('Mavs', 'Mavs', 'Spurs', 'Spurs', 'Lakers'),
 points=c(14, NA, 8, 17, 22),
 rebounds=c(8, 5, 5, 9, 12))

#view data frame
data

 team points rebounds
1 Mavs 14 8
2 Mavs NA 5
3 Spurs 8 5
4 Spurs 17 9
5 Lakers 22 12

Пример 1. Подсчет строк, равных некоторому значению

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

sum(data$team == 'Mavs')

[1] 2

В следующем коде показано, как подсчитать количество строк, в которых название команды равно «Mavs» или «Lakers»:

sum(data$team == 'Mavs ' | data$team == 'Lakers')

[1] 3

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

sum(data$team != 'Lakers')

[1] 4

Пример 2. Подсчет строк больше или равен некоторому значению

В следующем коде показано, как подсчитать количество строк, в которых количество точек больше 10:

sum(data$points > 10, na.rm= TRUE )

[1] 3

В следующем коде показано, как подсчитать количество строк, в которых количество подборов меньше или равно 9:

sum(data$rebounds <= 9, na.rm= TRUE )

[1] 4

Пример 3. Подсчет строк между двумя значениями

В следующем коде показано, как подсчитать количество строк, в которых количество точек находится в диапазоне от 10 до 20:

sum(data$points > 10 & data$points < 20, na.rm= TRUE )

[1] 2

В следующем коде показано, как подсчитать количество рядов, где количество подборов находится между 8 и 10:

sum(data$rebounds > 8 & data$rebounds < 10, na.rm= TRUE )

[1] 1

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

Как подсчитать наблюдения по группе в R
Как сгруппировать и суммировать данные в R