[R-br] eliminar valores de data.frame

Paulo Nogueira paulons em gmail.com
Terça Maio 22 15:04:58 BRT 2012


Vitor,
você não mandou um CMR, mas assumindo que as colunas são comparadas
duas a duas (coluna1 x coluna2, coluna3 x coluna4, etc) o programa
abaixo deve resolver a situação.
Serão gerados 30 vetores na área de trabalho.

Faça os testes.


# Exemplo de dados
dados<-trunc(rnorm(30*100000,30,5))
attr(dados, 'dim')<-c(100000,30)
##

for (i in seq(1,30,by=2)) {

  t<-table(dados[,c(i,i+1)])
  n<-attributes(t[t<5])$dimnames[[1]]

  assign(paste('Coluna',i,sep=''),dados[!dados[,(i)]%in%as.numeric(n),i])
  assign(paste('Coluna',i+1,sep=''),dados[!dados[,(i+1)]%in%as.numeric(n),(i+1)])
}


Em 21/05/12, Vitor Aguiar<vitor.aguiar em me.com> escreveu:
> Caros,
>
> tenho um data frame com 30 colunas e 100 mil linhas, composto de valores
> numéricos de 1 a 65. Gostaria de eliminar todos os valores que aparecem
> menos de 5 vezes, em cada 2 colunas consecutivas separadamente.
>
> Por exemplo, se o valor "18" aparece 4 vezes entre os 200.000 valores das
> minhas 2 primeiras colunas, eu gostaria de eliminar todos os 4.
>
> Eu sei que no final eu teria colunas de lengths diferentes no meu data
> frame, mas eu não preciso recriar o data frame, eu só preciso usar os pares
> de colunas separadamente.
>
> Como fazer isso?
>
> Desde já, muito obrigado aos que puderem ajudar.
>
>
> Vitor Aguiar
>
>


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