[R-br] aplicando cálculo sobre linhas de um dataframe

Marcos Silva marcosfs2006 em gmail.com
Sexta Maio 18 16:34:32 BRT 2012


Vitor, não sei se vai funcionar... mas não custa tentar... :)

Supondo que seu data frame se chame "df" mas

calc <- function(x){
x1 <- x[seq(1, length(x)-1, 2)]
x2 <- x[seq(2, length(x)  ,  2)]
sum(x1-x2 == 0, na.rm=TRUE)
}

apply(df, 1, calc)




Em 18 de maio de 2012 15:28, Sandro Sperandei <ssperandei em hotmail.com>escreveu:

>   Vitor,
>
> A forma mais simples que posso oferecer, sem conhecer a sua estrutura de
> dados, é essa:
>
> soma = as.vector(rep(0,dim(x)[1]))
>
> for(i in 1:dim(x)[1]){
>               for(j in c(seq(1,dim(x)[2]-1,2))){
>
>                                                 soma = soma + ifelse(is.na(x[i,j])
> | is.na(x[i,(j+1)]), 0, ifelse(x[i,j]==x[i,(j+1)], 1, 0))
>                                                 }
>              }
>
> Onde “x” é a matriz de dados originais
>
> S
>
>
>
>
>
>
>
>  *From:* Vitor Aguiar <vitor.aguiar em me.com>
> *Sent:* Friday, May 18, 2012 2:30 PM
> *To:* r-br em listas.c3sl.ufpr.br
> *Subject:* [R-br] aplicando cálculo sobre linhas de um dataframe
>
>  Olá. Postei essa pergunta ontem mas não obtive resposta. Desculpe por
> estar postando novamente.
>
>  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
>
> ------------------------------
> _______________________________________________
> 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.
>



-- 
Marcos F. Silva
http://sites.google.com/site/marcosfs2006
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120518/f2ae2329/attachment.html>


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