Как подсчитать значения, не относящиеся к NA, в R (примеры 3)


Вы можете использовать следующие методы для подсчета значений, отличных от NA, в R:

Метод 1: подсчет значений, не относящихся к NA, во всем фрейме данных

sum( ! is.na(df))

Метод 2: подсчет значений, не относящихся к NA, в каждом столбце фрейма данных

colSums( ! is.na(df))

Метод 3: подсчет значений, не относящихся к NA, по группам во фрейме данных

library(dplyr)

df %>%
 group_by(var1) %>%
 summarise(total_non_na = sum( ! is. na (var2)))

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

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
 points=c(12, NA, 30, 32, 20, 22, 17, NA),
 rebounds=c(10, 8, 9, 13, NA, 20, 8, 7))

#view data frame
df

 team points rebounds
1 A 12 10
2 A NA 8
3 A 30 9
4 A 32 13
5 B 20 NA
6 B 22 20
7 B 17 8
8 B NA 7

Метод 1: подсчет значений, не относящихся к NA, во всем фрейме данных

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

#count non-NA values in entire data frame
sum( ! is.na(df))

[1] 21

Из вывода мы видим, что во всем фрейме данных есть 21 значение, отличное от NA.

Метод 2: подсчет значений, не относящихся к NA, в каждом столбце фрейма данных

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

#count non-NA values in each column
colSums( ! is.na(df))

 team points rebounds 
 8 6 7

Из вывода мы видим:

  • В столбце team есть 8 значений, не относящихся к NA.
  • В столбце очков есть 6 значений, не относящихся к NA.
  • В столбце подборов есть 7 значений, не относящихся к NA.

Метод 3: подсчет значений, не относящихся к NA, по группам

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

library(dplyr)
df %>%
 group_by(team) %>%
 summarise(total_non_na = sum( ! is. na (points)))

# A tibble: 2 x 2
 team total_non_na

1 A 3
2 B 3

Из вывода мы видим:

  • В столбце очков для команды А есть 3 значения, не относящиеся к NA.
  • В столбце очков для команды B есть 3 значения, не относящиеся к NA.

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

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

Как найти и подсчитать пропущенные значения в R
Как заменить пропущенные значения в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.