Olá FH,

esse código gera o valor "1" para todas as minhas linhas. Isso ocorre porque o 
length(is.na(x)) é igual a ncol(dados), mas isso só seria verdade se todos os 
meus dados fossem NA, e não são.

Eu tentei algo como table(is.na(pop[1, ]))[[2]]. Isso conta quantos são NA e 
quantos não são (FALSE e TRUE), e então eu extraio o segundo valor, que 
representa a quantidade de NAs (NA = TRUE). Depois eu divido isso pelo ncol pra 
ter a proporção.
Mas não consigo aplicar isso pra todas as linhas.


Vitor


On May 16, 2012, at 3:03 PM, FHRB Toledo wrote:

> Vitor,
> 
> Algo como pode funcionar:
> 
> apply(dados, 1, function(x) length(is.na(x)) / ncol(dados)
> 
> * Código não testado!
> 
> att,
> FH
> 
> 2012/5/16 Vitor Aguiar <[email protected]>:
>> Boa tarde a todos,
>> 
>> tenho um dataframe composto de milhares de linhas e queria calcular o
>> proporção de NAs que tenho em cada linha em relação ao total de dados para
>> essa linha.
>> 
>> Exemplo de linha no dataframe:
>> 
>> 1 NA NA 15 16 23 22 NA NA NA NA 4 10 18 19 14 21 NA NA 11 8 6 11 NA NA
>> 
>> Então pensei em fazer algo como:
>> 
>> funçãoNA = function( x ) {
>> naind = table(is.na( x[i, ]))
>> naind[[2]] / length(x[i, ])
>> }
>> 
>> Sou novo em programação e não sei como aplicar isso pra todas as linhas. Não
>> consigo aplicar a função acima com a função apply, pois ela não reconhece o
>> "i". Tenho que usar um loop pra isso?
>> 
>> Desde já, muito obrigado.
>> Vitor
>> 
>> _______________________________________________
>> R-br mailing list
>> [email protected]
>> 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.
> _______________________________________________
> R-br mailing list
> [email protected]
> 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.

Vitor Rezende da Costa Aguiar
---------------------------------------------------
PhD candidate in biotechnology
Rede Nordeste de Biotecnologia
UFES, Brazil
---------------------------------------------------
Current Adress: 
Department of Integrative Biology
University of California, Berkeley
2033 Valley Life Sciences Building #4134
Berkeley, CA 94720
Phone: 1 (510) 473-2070

_______________________________________________
R-br mailing list
[email protected]
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.

Responder a