Как посчитать значения, не относящиеся к 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 to 12 10
2 A NA 8
3 to 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

По результату мы видим:

  • В столбце команды 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 to 3
2 B 3

По результату мы видим:

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *