web-dev-qa-db-fra.com

remplacement des NA par des 0 dans le cadre de données R

Je me suis amusé avec l'ensemble de données de qualité de l'air dans R et ai trouvé comment supprimer des lignes avec des valeurs manquantes. J'ai utilisé la commande suivante:

complete.cases(airquality)
AQ1<-airquality[complete.cases(airquality),]

Comment puis-je remplacer les 0 dans la qualité de l'air par des 0 puis créer un nouveau cadre de données, AQ2?

P.S. Ma commande ci-dessus crée-t-elle une nouvelle trame de données appelée AQ1?

Merci

42
killahtron
dataset <- matrix(sample(c(NA, 1:5), 25, replace = TRUE), 5);
data <- as.data.frame(dataset)
[,1] [,2] [,3] [,4] [,5] 
[1,]    2    3    5    5    4
[2,]    2    4    3    2    4
[3,]    2   NA   NA   NA    2
[4,]    2    3   NA    5    5
[5,]    2    3    2    2    3
data[is.na(data)] <- 0
89
lbenitesanchez

Ce que dit Tyler Rinker est correct:

AQ2 <- airquality
AQ2[is.na(AQ2)] <- 0

fera juste cela.

Ce que vous faites à l’origine, c’est que vous prenez de airquality toutes les lignes (observations) complètes. Donc, tous les cas qui ne contiennent pas d'AN, et ne gardent que ceux-là.

22
PascalVKooten

Voici deux approches rapides que je connais:

dans la base

AQ1 <- airquality
AQ1[is.na(AQ1 <- airquality)] <- 0
AQ1

pas dans la base

library(qdap)
NAer(airquality)

PS P.S. Does my command above create a new dataframe called AQ1?

Regardez Q1 et voyez

9
Tyler Rinker