[R-br] substituir valores nulos

Benilton Carvalho beniltoncarvalho em gmail.com
Terça Outubro 2 18:47:30 BRT 2012


Alguns detalhes antes da resposta:

1) "NA" (note as aspas) nao e' valor nulo... e' a "palavra" NA (como
se fosse sodio, de quimica, todo em maiusculo). O valor nulo e' a
expressao especial NA (sem aspas).

2) a outra observacao e' que quando vc muda um valor de uma coluna
inicialmente numerica para um valor que e' uma palavra, entao toda a
coluna e' transformada para "palavras". Para entender o que eu quero
dizer, veja:

x = c(1, 2, 3, 4)
class(x)
x[1]+x[2]
x[3] = NA
class(x)
x[1]+x[2]
x[3] = "NA"
class(x)
x[1]+x[2]

Observe acima que quando a classe do vetor muda de numerico para
character, o R nao sabe mais como somar... Afinal, a soma da palavra
"1" com a palavra "2" nao e' uma operacao definida. Detalhe, o seu
valor vazio "" e' tambem uma "palavra" e mudara' a classe do objeto...
Teste.

Dito isso e assumindo que vc nao queira mudar as classes dos seus vetores:

set.seed(1)
dados <- data.frame(parcela=rep(1:3, each=3), y=rnorm(9))
dados$substituir <- c(1,2,3,4,5,NA,7,NA,9)
dados[2,1] <- NA
dados[5,1] <- NA
dados[is.na(dados)] <- 0
dados


b

2012/10/2 Samuel Carvalho <samukajm em yahoo.com.br>:
> Caros (as) membros da r-br
> Seria possível substituir todos valores nulos ("NA") por algum valor
> específico? Como por exemplo pelo valor 1 ou somente dizendo se NA entao
> vazio?
> Exemplo de #RCMR
> #RCMR
> dados <- data.frame(parcela=rep(1:3, each=3), y=rnorm(9))
> dados$substituir <- c(1,2,3,4,5,"NA",7, "NA",9)
> dados[2,1] <- "NA"
> dados[5,1] <- "NA"
> dados
> dados[which(dados=="NA")] <- 0 #nao rodou, sei que se especifico a coluna
> este comando funciona,
> # porem se tenho um data frame com varias colunas é um problema
> # ou para substituir os NA por vazios
> dados[which(dados=="NA")] <- ""
>
> Desde ja obrigado
>
> ====================================
> Samuel P. C. Carvalho
> Mestre em Ciências Florestais [UFLA]
> Doutorando em Recursos Florestais [ESALQ/USP]
> =============================================
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
> mínimo reproduzível.


Mais detalhes sobre a lista de discussão R-br