
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="")