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.
