Jak zamienić na na zero w dplyr


Możesz użyć poniższej składni, aby zastąpić wszystkie wartości NA zerem w ramce danych za pomocą pakietu dplyr w R:

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

Aby zastąpić wartości NA w określonej kolumnie ramki danych, możesz użyć następującej składni:

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

Możesz także użyć następującej składni, aby zastąpić wartość NA w jednej z wielu kolumn w ramce danych:

 #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))

Poniższe przykłady pokazują, jak w praktyce wykorzystać te funkcje z następującym blokiem danych:

 #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

Przykład 1: Zamień wszystkie wartości NA we wszystkich kolumnach

Poniższy kod pokazuje, jak zastąpić wszystkie wartości NA we wszystkich kolumnach ramki danych:

 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

Przykład 2: Zamień wartości NA w określonej kolumnie

Poniższy kod pokazuje jak zamienić wartości NA w konkretnej kolumnie ramki danych:

 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

Przykład 3: Zamień wartości NA w jednej z kilku kolumn

Poniższy kod pokazuje jak zamienić wartości NA w jednej z wielu kolumn w ramce danych:

 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

Dodatkowe zasoby

Jak filtrować wiersze zawierające określony ciąg za pomocą dplyr
Jak obliczyć częstotliwości względne za pomocą dplyr
Jak wybrać pierwszy wiersz według grupy za pomocą dplyr

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *