Eu trabalho em um escritório onde o SQL Server é a espinha dorsal de tudo o que fazemos, desde o processamento de dados até a limpeza e a substituição. Meu colega é especialista em escrever funções complexas e procedimentos armazenados para processar metodicamente os dados recebidos, para que possam ser padronizados e colocados em funcionamento em projetos de relatórios, visualizações e análises. Antes de começar aqui, eu tinha muito pouca experiência com SQL, além de escrever as consultas mais básicas. A grande maioria do meu trabalho de preparação para análises foi feita em R. Meu chefe insiste em que eu melhore minhas habilidades em SQL, embora pareça haver muito poucas atribuições que não possam ser feitas com mais eficiência e com muito menos linhas de código usando R pacotes como dplyr, data.table e tidyr (para citar alguns). Minha pergunta é - isso faz sentido?
Há algumas semanas, me deparei com a tarefa de obter uma lista de nomes de colunas para cada linha em uma tabela que atendesse a certos critérios e concatená-los em um vetor de strings. Havia um prazo apertado e, na época, eu estava enfrentando algum bloqueio e não conseguia entender o problema. Perguntei ao meu chefe, que por sua vez pediu ao meu colega para escrever um script TSQL para resolver o problema. Enquanto ele estava trabalhando nisso, descobri uma maneira de fazê-lo no R escrevendo uma função bastante simples e aplicando-a sobre o quadro de dados. Meu colega voltou com o roteiro cerca de duas horas depois. Havia pelo menos 75 linhas, incluindo duas aninhadas para loops. Pedi-lhe para avisar quando terminasse de correr e ele disse que levaria várias horas. Enquanto isso, meu script R foi capaz de repetir os ~ 45.000 registros em cerca de 30 segundos.
Estou certo ao supor que R é uma escolha muito melhor para limpar e filtrar dados? Talvez o desenvolvedor SQL no meu escritório seja apenas inepto? Estou curioso para saber se alguém que trabalhou com R e SQL (ou Python e SQL) tem alguma idéia sobre isso.