
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@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@me.com> *Sent:* Friday, May 18, 2012 2:30 PM *To:* r-br@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@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@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