Як замінити na на zero в dplyr


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

 #replace all NA values with zero
df <- df %>% replace(is. na (.), 0)

Ви можете використовувати такий синтаксис, щоб замінити значення NA в певному стовпці кадру даних:

 #replace NA values with zero in column named col1
df <- df %>% mutate(col1 = ifelse(is. na (col1), 0, col1))

І ви можете використовувати такий синтаксис, щоб замінити значення NA в одному з багатьох стовпців у кадрі даних:

 #replace NA values with zero in columns col1 and col2
df <- df %>% mutate(col1 = ifelse(is. na (col1), 0, col1),
                    col2 = ifelse(is. na (col2), 0, col2))

Наступні приклади показують, як використовувати ці функції на практиці з таким блоком даних:

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'),
                 pts=c(17, 12, NA, 9, 25),
                 rebs=c(3, 3, NA, NA, 8),
                 blocks=c(1, 1, 2, 4, NA))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C NA NA 2
4 D 9 NA 4
5 E 25 8 NA

Приклад 1: замінити всі значення NA у всіх стовпцях

Наступний код показує, як замінити всі значення NA у всіх стовпцях кадру даних:

 library (dplyr)

#replace all NA values with zero
df <- df %>% replace(is. na (.), 0)

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 0 0 2
4 D 9 0 4
5 E 25 8 0

Приклад 2: Замініть значення NA в певному стовпці

Наступний код показує, як замінити значення NA в певному стовпці кадру даних:

 library (dplyr)

#replace NA values with zero in rebs column only
df <- df %>% mutate(rebs = ifelse(is. na (rebs), 0, rebs))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C NA 0 2
4 D 9 0 4
5 E 25 8 NA

Приклад 3: Замініть значення NA в одному з кількох стовпців

Наступний код показує, як замінити значення NA в одному з багатьох стовпців у кадрі даних:

 library (dplyr)

#replace NA values with zero in rebs and pts columns
df <- df %>% mutate(rebs = ifelse(is. na (rebs), 0, rebs),
                    pts = ifelse(is. na (pts), 0, pts))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 0 0 2
4 D 9 0 4
5 E 25 8 NA

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

Як фільтрувати рядки, що містять певний рядок, за допомогою dplyr
Як обчислити відносні частоти за допомогою dplyr
Як вибрати перший рядок групою за допомогою dplyr

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

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