[R-br] Forma "correta" e/ou mais "elegante"...

Mauricio Morgado Oliveira oliveira.mauricio.morgado em gmail.com
Quarta Dezembro 12 11:05:56 BRST 2012


Gostaria de alguma dica (sugestão) para escrever de forma "correta" e/ou
mais "elegante".
Segue abaixo minha antiga programação no sas e no R (tentei anteriomente
dentro de um for (loop),
mas fica muito demorado).

Att,

Mauricio M. Oliveira

Programação no SAS:

  if TP_PRODUTO='RM'
    then pai=COMPRESS('RM'||Cod_Rebanho||racapai||ano||nomepai,' ');
  else if livropai^=' ' & registropa^=' ' & registropa^='0' &
registropa^='-'
    then pai=COMPRESS(livropai||'.'||registropa,' ');
  else if nomepai=' ' & tatuagempa=' '
then do;
    pai=COMPRESS(Cod_Rebanho||raca||ano||"DESC",' '); TP_PRODUTO='RM'; end;
  else
     pai=COMPRESS(Cod_Rebanho||racapai||tatuagempa||nomepai,' ');

Script no R:

Base[,"PAI"][Base[,"TP_PRODUTO"] == "RM"] <-
paste("RM",Base[,"Cod_Rebanho"][Base[,"TP_PRODUTO"] == "RM"],
Base[,"RACAPAI"]
   [Base[,"TP_PRODUTO"] == "RM"], Base[,"anoN"][Base[,"TP_PRODUTO"] ==
"RM"], Base[,"NOMEPAI"][Base[,"TP_PRODUTO"] == "RM"], sep="")
Base[,"PAI"][Base[,"TP_PRODUTO"] != "RM" & Base[,"LIVROPAI"]!="" &
Base[,"REGISTROPA"]!="" & Base[,"REGISTROPA"]!="0" & Base[,"REGISTRO"]!=
   "-"] <- paste(Base[,"LIVROPAI"][Base[,"TP_PRODUTO"] != "RM" &
Base[,"LIVROPAI"]!="" & Base[,"REGISTROPA"]!="" & Base[,"REGISTROPA"]!="0" &
   Base[,"REGISTRO"]!="-"], ".", Base[,"REGISTROPA"][Base[,"TP_PRODUTO"] !=
"RM" & Base[,"LIVROPAI"]!="" & Base[,"REGISTROPA"]!="" &
   Base[,"REGISTROPA"]!="0" & Base[,"REGISTRO"]!="-"], sep="")
Base[,"PAI"][Base[,"TP_PRODUTO"] != "RM" & Base[,"NOMEPAI"]=="" &
Base[,"TATUAGEMPA"]==""] <- paste(Base[,"Cod_Rebanho"]
   [Base[,"TP_PRODUTO"] != "RM" & Base[,"NOMEPAI"]=="" &
Base[,"TATUAGEMPA"]==""], Base[,"RACA"][Base[,"TP_PRODUTO"] != "RM" &
   Base[,"NOMEPAI"]=="" & Base[,"TATUAGEMPA"]==""],"DESC", sep="")
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20121212/a5d7e4fd/attachment.html>


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