Как заменить ноль на na в r (с примерами)


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

Способ 1. Замените ноль на NA во всех столбцах.

 df[df == 0 ] <- NA

Способ 2. Замените ноль на NA в столбце.

 df$col1[df$col1 == 0 ] <- NA

Способ 3. Замените ноль на NA в нескольких конкретных столбцах.

 df[, c(' col1 ', ' col2 ')][df[, c(' col1 ', ' col2 ')] == 0 ] <- NA

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

 #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 во всех столбцах фрейма данных:

 #replace zero with NA in all columns
df[df == 0 ] <- NA

#view updated 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

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

Пример 2. Замените ноль на NA в столбце

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

 #replace zero with NA in 'rebs' column only
df$rebs[df$rebs == 0 ] <- NA

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

Обратите внимание, что все нули в столбце «rebs» заменены на NA, а все остальные столбцы остались неизменными.

Пример 3. Замените ноль на NA в нескольких конкретных столбцах.

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

 #replace zero with NA values in 'pts' and 'rebs' columns only
df[, c(' pts ', ' rebs ')][df[, c(' pts ', ' rebs ')] == 0 ] <- 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 0

Обратите внимание, что все нули были заменены на NA в столбцах «pts» и «rebs», а столбец «blocks» остался неизменным.

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

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

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

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

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