Як порахувати різні значення за допомогою dplyr (з прикладами)


Ви можете використовувати будь-який із наведених нижче методів, щоб підрахувати кількість різних значень у кадрі даних R за допомогою функції n_distinct() dplyr :

Спосіб 1: підрахуйте різні значення в стовпці

 n_distinct(df$column_name)

Спосіб 2: Підрахуйте різні значення у всіх стовпцях

 sapply(df, function (x) n_distinct(x))

Спосіб 3: Підрахуйте окремі значення за групою

 df %>%
group_by (grouping_column) %>%
summarize (count_distinct = n_distinct(values_column))

У наведених нижче прикладах показано, як використовувати кожен із цих методів на практиці з таким кадром даних:

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(6, 6, 8, 10, 9, 9, 12, 12),
                 assists=c(3, 6, 4, 2, 4, 5, 5, 9))

#view data frame
df

  team points assists
1 to 6 3
2 to 6 6
3 to 8 4
4 to 10 2
5 B 9 4
6 B 9 5
7 B 12 5
8 B 12 9

Спосіб 1: підрахуйте різні значення в стовпці

Наступний код показує, як використовувати n_distinct() для підрахунку кількості різних значень у стовпці team:

 #count distinct values in 'team' column
n_distinct(df$team)

[1] 2

У стовпці «команда» є 2 різних значення.

Спосіб 2: Підрахуйте різні значення у всіх стовпцях

Наступний код показує, як використовувати функції sapply() і n_distinct() для підрахунку кількості різних значень у кожному стовпці кадру даних:

 #count distinct values in every column
sapply(df, function (x) n_distinct(x))

   team points assists 
      2 5 6

З результату ми бачимо:

  • У стовпці «команда» є 2 різних значення
  • У стовпці «бали» є 5 різних значень
  • У стовпці «допомога» є 6 різних значень

Спосіб 3: Підрахуйте окремі значення за групою

Наступний код показує, як використовувати функцію n_distinct() для підрахунку кількості різних значень на групу:

 #count distinct 'points' values by 'team'
df %>%
  group_by (team) %>%
  summarize (distinct_points = n_distinct(points))

# A tibble: 2 x 2
  team distinct_points 
1 to 3
2 B 2

З результату ми бачимо:

  • Є 3 різні значення балів для команди A.
  • Є 2 окремі оцінки для команди B.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції за допомогою dplyr:

Як перекодувати значення за допомогою dplyr
Як замінити NA на Zero в dplyr
Як сортувати змінні за групою за допомогою dplyr
Як вибрати перший рядок групою за допомогою dplyr

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *