Как заменить пробелы на NA в R (с примерами)


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

Метод 1: заменить пробелы на NA в одном столбце

df$my_col[df$my_col==""] <- NA

Способ 2: заменить пробелы на NA во всех столбцах

library(dplyr)

df <- df %>% mutate_all (na_if,"")

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

#create data frame
df <- data.frame(team=c("A", "B", "", "D", "E"),
 position=c("G", "", "F", "F", ""),
 points=c(33, 28, 31, 39, 34)) 

#view data frame
df

 team position points
1 A G 33
2 B 28
3 F 31
4 D F 39
5 E 34

Пример 1: замена пробелов на NA в одном столбце

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

#replace all blanks in position column with NA values
df$position[df$position==""] <- NA

#view updated data frame
df

 team position points
1 A G 33
2 B <NA> 28
3 F 31
4 D F 39
5 E <NA> 34

Обратите внимание, что пустые значения в столбце position были заменены значениями NA, в то время как все остальные столбцы остались без изменений.

Пример 2: заменить пробелы на NA во всех столбцах

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

library(dplyr)

#replace blanks in every column with NA values 
df <- df %>% mutate_all(na_if,"")

#view updated data frame
df

 team position points
1 A G 33
2 B <NA> 28
3 <NA> F 31
4 D F 39
5 E <NA> 34

Обратите внимание, что пустые значения в каждом столбце были заменены значениями NA.

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

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

R: Как заменить NA строками
R: Как условно заменить значения во фрейме данных

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