
Wagner, boa tarde! Você pode adaptar de outras linguagens. No link que segue está bem fácil de entender: <http://www.devmedia.com.br/validando-o-cpf-em-uma-aplicacao-java/22097> Fiz um primeiro exercício, mas não posso garantir que esteja plenamente funcional. Sugiro apenas como ponto de partida. Quem quiser melhorar o código é bem-vindo. ### <code r> isCPF <- function(cpf.str) { cpf <- gsub('[^[:digit:]]+', '', cpf.str) ### primeiro dígito verificador: cpf.1 <- as.numeric(strsplit(substr(cpf, 1,9), "")[[1]]) sm.1 <- sum(cpf.1 * 10:2) ### 249 dig.1 <- ifelse((sm.1 %% 11)==0 | (sm.1 %% 11)>9, 0, 11-(sm.1 %% 11)) ### 4 ### se o resto da divisão for 10 ou 11, o dígito será 0; ### segundo dígito verificador: cpf.2 <- as.numeric(strsplit(substr(cpf, 1,10), "")[[1]]) sm.2 <- sum(cpf.2 * 11:2) ### 299 dig.2 <- ifelse((sm.2 %% 11)==0 | (sm.2 %% 11)>9, 0, 11-(sm.2 %% 11)) ### 9 ### testa dígitos calculados ver <- paste0(dig.1, dig.2) == substr(cpf, 10,11) return(ver); print(ver) } isCPF("546.471.429-49") ### TRUE isCPF("546.471.429-99") ### FALSE ### </code> ================================================ Éder Comunello PhD Student in Agricultural Systems Engineering (USP/Esalq) Brazilian Agricultural Research Corporation (Embrapa) Dourados, MS, Brazil [22 16.5'S, 54 49.0'W] Em 27 de janeiro de 2016 12:12, Wagner Tassinari <wtassinari@gmail.com> escreveu:
Olá pessoal,
Alguém conhece algum código em R para verificar a consistência do número do CPF ?
Obrigado
-- Wagner S. Tassinari Departamento de Matemática Universidade Federal Rural do Rio de Janeiro. BR-465, Km 7 - Seropedica, RJ - Brasil CEP: 23890-000 Skype: wagner.tassinari wtassinari@gmail.com tassinari@ufrrj.br ------------------------------------------------------- "Statistical thinking will one day be as necessary for efficient citizenship as the ability to read and write." (H.G.Wellis)
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.