<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">OK Paulo,<div><br></div><div>agora entendi o que o programa está fazendo. Realmente funciona, eliminando corretamente os valores.</div><div>Muito Obrigado.</div><div><br></div><div>Porém, para uma outra aplicação desses dados, percebi que será essencial não eliminar os valores, mas transforma-los em NA (um dado em branco), pois preciso que seja mantida a estrutura do dataframe com o <i>length</i> original de cada coluna. </div><div><br></div><div>É possível usar essa primeira parte do seu for loop e, de alguma forma, criar um novo dataframe "dados" onde os valores com frequência menor que 5 são substituídos por NA?</div><div><br></div><div><br></div><div>Vitor</div><div><br></div><div><br><div><div>On May 22, 2012, at 7:27 PM, Paulo Nogueira wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Vitor,<br>você faz bem de tentar entender os códigos que o pessoal coloca no grupo ao invés de apenas roda-los.<div>É uma ótima forma de aprender R.<br><br>Você disse que sua base tem 30 colunas. O programa que escrevi gera 30 vetores chamados Coluna1, Coluna2, ..., Coluna30 que contém o que os elementos que você precisa, segundo seu primeiro e-mail.<div>
<br>abraços,<br>Paulo<br><br>Em 22 de maio de 2012 21:32, Vitor Aguiar <<a href="mailto:vitor.aguiar@me.com">vitor.aguiar@me.com</a>> escreveu:<br>> Olá Paulo,<br>><br>> muito obrigado.<br>><br>> Como eu estou apenas aprendendo programação, testei o seu código mas ainda estou tentando compreender o resultado. Como assim gerar 30 vetores na área de trabalho?<br>
><br>> Pensei em outra coisa que também resolveria minha situação: substituir todos os valores que aparecem menos que 5 vezes no conjunto de dados por NA. Seria mais simples fazer isso?<br>><br>><br>> Obrigado,<br>
> Vitor<br>><br>><br>><br>> On May 22, 2012, at 11:04 AM, Paulo Nogueira wrote:<br>><br>>> Vitor,<br>>> você não mandou um CMR, mas assumindo que as colunas são comparadas<br>>> duas a duas (coluna1 x coluna2, coluna3 x coluna4, etc) o programa<br>
>> abaixo deve resolver a situação.<br>>> Serão gerados 30 vetores na área de trabalho.<br>>><br>>> Faça os testes.<br>>><br>>><br>>> # Exemplo de dados<br>>> dados<-trunc(rnorm(30*100000,30,5))<br>
>> attr(dados, 'dim')<-c(100000,30)<br>>> ##<br>>><br>>> for (i in seq(1,30,by=2)) {<br>>><br>>>  t<-table(dados[,c(i,i+1)])<br>>>  n<-attributes(t[t<5])$dimnames[[1]]<br>
>><br>>>  assign(paste('Coluna',i,sep=''),dados[!dados[,(i)]%in%as.numeric(n),i])<br>>>  assign(paste('Coluna',i+1,sep=''),dados[!dados[,(i+1)]%in%as.numeric(n),(i+1)])<br>
>> }<br>>><br>>><br>>> Em 21/05/12, Vitor Aguiar<<a href="mailto:vitor.aguiar@me.com">vitor.aguiar@me.com</a>> escreveu:<br>>>> Caros,<br>>>><br>>>> tenho um data frame com 30 colunas e 100 mil linhas, composto de valores<br>
>>> numéricos de 1 a 65. Gostaria de eliminar todos os valores que aparecem<br>>>> menos de 5 vezes, em cada 2 colunas consecutivas separadamente.<br>>>><br>>>> Por exemplo, se o valor "18" aparece 4 vezes entre os 200.000 valores das<br>
>>> minhas 2 primeiras colunas, eu gostaria de eliminar todos os 4.<br>>>><br>>>> Eu sei que no final eu teria colunas de lengths diferentes no meu data<br>>>> frame, mas eu não preciso recriar o data frame, eu só preciso usar os pares<br>
>>> de colunas separadamente.<br>>>><br>>>> Como fazer isso?<br>>>><br>>>> Desde já, muito obrigado aos que puderem ajudar.<br>>>><br>>>><br>>>> Vitor Aguiar<br>
>>><br>>>><br>>> _______________________________________________<br>>> R-br mailing list<br>>> <a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>>> <a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
>> Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br>><br>><br>> _______________________________________________<br>
> R-br mailing list<br>> <a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>> <a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
> Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br><br></div></div>
_______________________________________________<br>R-br mailing list<br><a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br<br>Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.</blockquote></div><br>
<br></div></body></html>