<font face="trebuchet ms,sans-serif">Olá. É mais interessante que você envie suas dúvidas para a lista pois (1) você pode obter diversas soluções (2) você pode ser respondida em menos tempo (3) sua mensagem pode interessar a mais pessoas (4) ela fica no histórico da lista para consulta futura. Segue uma possível solução usando match().<br>
<br><span style="font-family:courier new,monospace">da <- matrix(sample(c("a","c","g","t"), 20, replace=TRUE), ncol=5)<br>da<br><br>typeof(da) # matrix de character, converter seu data.frame para matriz com as.matrix()<br>
<br>atual <- c("a","c","g","t")<br>recod <- c(1,2,1,2)<br>data.frame(atual, recod)<br><br>indic <- match(da, atual) # matriz de indices<br>db <- matrix(recod[indic], nrow=nrow(da))<br>
db # matriz recodificada, <br>as.data.frame(db) # pode ser convertida para data.frame com as.data.frame<br></span><br>À disposição.<br>Walmes.<br><br clear="all"></font><span style="font-family:trebuchet ms,sans-serif">==========================================================================</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">Walmes Marques Zeviani</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">Departamento de Estatística - Universidade Federal do Paraná</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">fone: (+55) 41 3361 3573</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">VoIP: (3361 3600) 1053 1173</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">e-mail: <a href="mailto:walmes@ufpr.br" target="_blank">walmes@ufpr.br</a></span><br>
<span style="font-family:trebuchet ms,sans-serif">skype: walmeszeviani</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">twitter: @walmeszeviani</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">homepage: <a href="http://www.leg.ufpr.br/%7Ewalmes" target="_blank">http://www.leg.ufpr.br/~walmes</a></span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">linux user number: 531218</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">==========================================================================</span><br>
<br><br><div class="gmail_quote">2012/9/11 <span dir="ltr"><<a href="mailto:elisabpereira@gmail.com" target="_blank">elisabpereira@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Olá,<br>
<br>
tudo bem?<br>
Desculpe enviar um e-mail diretamente para você, mas já enviei minha dúvida para o fórum do R e não consegui resolver meu problema. Vi que vc ajuda muitas pessoas por aqui, e se não for pedir muito, também queria uma ajudinha.<br>
<br>
Tenho um data frame de 21 linhas e 329 colunas. As células do data frame são compostas pelos caracteres "a", "c", "g" ou "t". Quero fazer com que as células preenchidas pelos caracteres "a" ou "g" sejam substituídas pelo numeral 1, e as células com os caracteres "c" ou "t" sejam substituídas por 2.<br>
<br>
Quando uso:<br>
ifelse(dataframe=="a",1,0)<br>
<br>
Nesse caso, as células com "a" são substituídas pelo valor 1 e as demais são substituídas por 0.<br>
Tem alguma forma de fazer com q elas sejam substituídas por 1 e que o restante permaneça como está? Desta forma eu poderia usar o ifelse quatro vezes, uma para cada caracter.<br>
Também tentei usar:<br>
if (dataframe=="a") {1} else<br>
if (dataframe=="g") {1} else<br>
if (dataframe=="t") {2} else<br>
if (dataframe=="c") {2}<br>
Mas recebo o seguinte warning: "a condição tem comprimento > 1 e somente o primeiro elemento será usado"<br>
<br>
Também tentei usar o recode, mas não consegui fazer funcionar.<br>
<br>
Muito obrigada pela ajuda!!!<br>
</blockquote></div><br>