Как добавить столбец счетчика в фрейм данных в r


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

 df %>%
  group_by(var1) %>%
  mutate(var1_count = n())

Этот конкретный синтаксис добавляет столбец с именем var1_count во фрейм данных, который содержит количество значений в столбце с именем var1 .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: добавить числовой столбец в R

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

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
                 position=c('G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28))

#view data frame
df

  team position points
1 AG 18
2 AF 22
3 FY 19
4 BF 14
5 BG 14
6 BG 11
7 BF 20
8 BF 28

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

 library (dplyr)

#add column that shows total count of each team
df %>%
  group_by(team) %>%
  mutate(team_count = n())

# A tibble: 8 x 4
# Groups: team [2]
  team position points team_count
              
1 AG 18 3
2 AF 22 3
3 FY 19 3
4 BF 14 5
5 BG 14 5
6 BG 11 5
7 BF 20 5
8 BF 28 5

Есть 3 линии со значением команды A и 5 линий со значением команды B.

Так:

  • Для каждой строки, где команда равна A, значение в столбце team_count равно 3 .
  • Для каждой строки, где команда равна B, значение в столбце team_count равно 5 .

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

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

 library (dplyr)

#add column that shows total count of each team and position
df %>%
  group_by(team, position) %>%
  mutate(team_pos_count = n())

# A tibble: 8 x 4
# Groups: team, position [4]
  team position points team_pos_count
                  
1 AG 18 1
2 AF 22 2
3 FY 19 2
4 BF 14 3
5 BG 14 2
6 BG 11 2
7 BF 20 3
8 BF 28 3

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

  • Есть 1 строка, содержащая A в столбце команды и G в столбце позиции .
  • Есть две строки, которые содержат A в столбце команды и F в столбце позиции .
  • Есть 3 строки, которые содержат B в столбце команды и F в столбце позиции .
  • Есть 2 строки, которые содержат B в столбце команды и F в столбце позиции .

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

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

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

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

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