[R-br] pergunta simples - aplicar função para rows de um dataframe

Vitor Aguiar vitor.aguiar em me.com
Quinta Maio 17 19:07:37 BRT 2012


Senhores, tenho um outra dúvida similar para o mesmo conjunto de dados.

Relembrando, tenho um dataframe com milhares de linhas com valores NAs e não-NAs. Suponhamos a seguinte linha:

1. NA NA NA NA NA NA 6 6 NA NA 8 11 NA NA 17 18 NA NA 10 10 11 13 8 9 11 11 11 11

Vamos considerar os dados em pares. Assim, meu primeiro par é NA NA, o quarto par é 6 6. Há alguma forma de eu contar quantos pares iguais eu tenho em cada linha do dataframe? Assim, nessa linha por exemplo eu teria o resultado 4, pois tenho 4 pares de valores iguais (6 6, 10 10, 11 11, 11 11).
Então preciso aplicar o cálculo para todas as linhas.

O caminho seria um loop onde eu contaria dados[i, 1] == dados[i, 2]?


Obrigado,
Vitor



On May 16, 2012, at 3:24 PM, Vitor Aguiar wrote:

> Nossa, muito obrigado mais uma vez!
> 
> Esse do Benílton funciona perfeitamente!
> 
> 
> 
> On May 16, 2012, at 3:19 PM, FHRB Toledo wrote:
> 
>> Benilton... muito mais elegante!
>> 
>> 2012/5/16 Benilton Carvalho <beniltoncarvalho em gmail.com>:
>>> rowMeans(is.na(object))
>>> 
>>> Onde object eh o seu data.frame.
>>> 
>>> On May 16, 2012 10:55 PM, "Vitor Aguiar" <vitor.aguiar em me.com> wrote:
>>>> 
>>>> 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
>>>> 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.
>>> 
>>> 
>>> _______________________________________________
>>> 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.
>> _______________________________________________
>> 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.
> 
> 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
> 




-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120517/5d1b6cb7/attachment.html>


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