Eu aprendi R, mas parece que as empresas estão muito mais interessadas na experiência do SAS. Quais são as vantagens do SAS sobre o R?
Eu aprendi R, mas parece que as empresas estão muito mais interessadas na experiência do SAS. Quais são as vantagens do SAS sobre o R?
Respostas:
Eu acho que existem vários problemas (em ordem crescente de possível validade):
Pessoalmente, acho que o número 3 tem algum mérito legítimo, embora existam abordagens para big data que foram desenvolvidas com R. Os problemas do número 1 falam por si. Eu acho que o número 2 ignora vários fatos: há alguns exames que acontecem com o R, muitos dos principais pacotes são escritos por alguns dos maiores nomes da estatística e existem estudos que comparam a precisão de diferentes softwares estatísticos. certamente foi competitivo.
lme4
lista de correspondência que se compara ao SAS é apresentada regularmente. Mas é impossível saber se deveríamos fazer essas comparações. Sem acesso à fonte, temos que acreditar nessas empresas que os resultados produzidos pelo software são realmente válidos. Sinceramente, prefiro ter a capacidade de revisar o código de software que uso.
Além das boas respostas até agora, acrescentaria o fator constrangimento. Se você gastou centenas de milhares de dólares no ano passado em suporte a SAS e SAS, e propõe gastar nada para R, com preços extremamente baixos de suporte (Revolution, etc), alguém da cadeia perguntará por quê. Foi um erro gastar tanto dinheiro no ano passado quando R existiu no ano passado? Ou é um erro descartar software profissional para algo criado por um grupo de voluntários?
Uma vez que o problema é estruturado dessa maneira, é uma proposta de perder-perder, então talvez seja melhor não abordá-lo.
Além do que o gung identificou corretamente aqui, o maior problema no mundo corporativo é o legado. E quando você tem um código de produção de boa qualidade que é conhecido por fazer o trabalho, você não o altera. O SAS existe desde os anos 1970 e, na época, era a única linguagem estatística de script eficaz para os padrões da época. A quantidade de código de produção acumulada desde então no SAS no setor farmacêutico e no governo é inimaginável, dezenas de milhares de anos humanos. Reescrever isso em R ou Stata levaria alguns anos, o código resultante se tornará mais flexível, mais eficiente, mais transparente, mais fácil e mais barato de manter, mas ninguém pagará por essa refatoração. (Minha experiência ao fazer isso é que meu código Stata geralmente é cerca de três vezes menor; eu já tive um projeto de conversão de código SPSS em Stata, onde o tornei 20 vezes mais curto.
De certa forma, essa é uma história semelhante com os editores acadêmicos: eles estão enfrentando uma onda de usuários finais, mantendo suas assinaturas desnecessárias; uma universidade sem assinatura da Nature não é realmente uma universidade. A publicação gratuita através de sociedades profissionais tornará mais barato, as pessoas preparam seus envios no LaTeX hoje em dia, para que estejam prontas para a câmera e as mesmas pessoas fornecerão a revisão por pares, para que não haja retrocesso de qualidade em nenhuma das dimensões. Mas ... não há nome de marca e o fator de impacto por trás dos periódicos on-line.
Isso resume tudo: http://scatter.wordpress.com/2011/06/28/stata-12/ . O Stata é preferido nos círculos relacionados à economia e às políticas, e quanto mais eu aprendo sobre SAS, mais eu gosto do Stata.
Trabalhei de maneira tão eficaz como programador do SAS nos últimos sete anos. Ao meu lado, um colega de trabalho programa o SAS por mais tempo do que vivo. Como observado aqui, há uma enorme quantidade de inércia / legado por trás do SAS; mas o SAS, assim como R, é um caminho para um meio, não o meio em si.
O SAS é extremamente eficiente no acesso seqüencial a dados, e o acesso ao banco de dados através do SQL é extremamente bem integrado. Os PROCs estão muito bem documentados, mas infelizmente não são totalmente padronizados com notação (PROC OPTMODEL e IML são dois exemplos). É um pouco desajeitado quando se trata de escrever código complicado, e não é tão elegante para código paralelo. Também achei que a importação de arquivos CSV é uma fonte de grande miséria às vezes e prefiro simplesmente despejá-lo no R e depois em um banco de dados.
Embora o SAS tenha interfaces para objetos e dlls compartilhados, você não obtém um bom acesso a nenhum arquivo de cabeçalho ou algo assim, e a distribuição de código também não está disponível através de pacotes felizes.
No entanto, existe pouca preocupação com alguém que inclua um pacote esotérico agora extinto ou quebrado no código que você precisa manter, e a qualidade do código no SAS tende a ser uniformemente excelente (o código principal R também é excelente e também livremente disponível para qualquer pessoa).
Como mencionado anteriormente, o SAS também é extremamente caro, mas é uma boa ferramenta que eu uso quando sei que existe um procedimento fixo que funciona bem para minhas necessidades.
R + SAS + mysql com um pouco de perl para colar juntos funciona incrivelmente :)
dplyr
biblioteca - literalmente converte a sintaxe R / dplyr em SQL e chama o banco de dados, você pode decidir quais operações fazer no servidor db e o local usando a mesma sintaxe: cran.r-project. org / web / packages / dplyr / vignettes / database.html
Então, eu uso o R e o SAS - reconhecidamente na academia -, mas há algumas razões pelas quais eu costumo seguir o SAS às vezes:
Ninguém sugeriu que a razão de sua preferência seja pura idiotice. Aqui estão duas citações que me deparei recentemente:
"O uso de software de código aberto como o R estava fora de questão - não podíamos garantir um resultado perfeitamente repetível"
e
"Não poderíamos fornecer suporte para isso, pois é um software de código aberto"
Dois minutos com essas pessoas lhes mostrariam o quanto estão errados.
Parece que um problema não foi tratado explicitamente: cobertura de bunda. Se você trabalha com SAS e as coisas explodem, o tomador de decisão sempre pode dizer que comprou um software de ponta, e como ele sabia que isso iria quebrar? Se ele decidiu ir com R, esse argumento será mais difícil de argumentar. Sim, isso está relacionado ao argumento de inércia já mencionado aqui.
Algumas décadas atrás, eles costumavam dizer que "ninguém foi demitido por comprar a IBM" , que foi considerada a maior frase de marketing de todos os tempos.
Como usuário do SAS e do R, eu diria que o maior motivo pelo qual usamos o SAS sobre o R (quando o fazemos) é sua capacidade de processamento sequencial. Só precisamos de máquinas com mais de 4 GB de RAM para processar 15 anos de dados. Eu precisaria de uma máquina muito maior usando o estoque R e não tentei migrar o código SAS para executar com o Revolution R.
A partir de 2015, os atuários com menos de 35 anos preferem usar R - os livros de texto usam os códigos R e SAS. Os atuários mais antigos nunca aprenderam a usar R e preferem o SAS e não usam R. A proporção de atuários que realmente codificam no SAS diminuirá.
Se você pesquisar no Google scholar por artigos referentes ao SAS -, encontrará uma constante publicação de 550 publicações por ano nos últimos anos. Se você procurar artigos usando R ("Fundação R para Estatística Computacional"), havia 25.100 em 2014 e em meados de julho de 2015 havia 16.700. Traçando a taxa - está crescendo muito rápido!
O SAS não se ajudou por alguns anos exigindo grandes taxas de licenciamento de universidades - as quais foram revertidas desde então - mas agora é tarde demais para muitas universidades se converterem ao ensino usando R e não SAS.
Novas técnicas estatísticas são publicadas em artigos em conjunto com um pacote R. Algumas técnicas que estão na base R há anos ainda não foram exibidas no SAS. Agora você pode usar o R de dentro do SAS.
Em resumo, as coisas estão mudando e mudando rapidamente.
Na indústria farmacêutica, o SAS é usado porque é o que o FDA usa e gosta. Existem algumas razões sérias. Os resultados são rastreáveis e a saída possui um registro de data e hora. Os estatísticos da FDA podem verificar o que você recebe. É muito bom para gerenciamento de banco de dados e é um software confiável. É claro que muitos dos atributos do SAS podem estar presentes em outros pacotes de software, incluindo R e SAS, que são caros. Ainda assim, acho que qualquer pessoa que queira ser um estatístico aplicado que trabalha na indústria será melhor, pelo menos, aprender a programar no SAS. Use R ou STATA se preferir, mas conhece o SAS. Quando você trabalha para uma empresa que deseja que você use o SAS, eles pagam pelo licenciamento.
Penso que esta citação de Anne H. Milley resume a maneira como muitas pessoas se sentem sobre R:
Temos clientes que constroem motores para aeronaves. Fico feliz que eles não estejam usando freeware quando entro em um jato.
Infelizmente, acho que esse equívoco (gratuito == inferior) é comum no público em geral.
(tópico um pouco fora do assunto): vendo o outro ponto: algumas das vantagens que R tem na academia não se aplicam à indústria.
Por exemplo, no meio acadêmico, é uma clara vantagem se você puder pedir aos alunos para irem buscar o software e trabalhar em casa. Na indústria, geralmente você não deve levar dados para casa com você ...
Você também não deve tentar algumas coisas (TM), baixar toneladas de pacotes (mesmo que respeitáveis e testados), usar métodos de ponta. Em vez disso, espera-se que você se atenha aos métodos e códigos usados há anos e nos quais o comportamento é conhecido há séculos. Você não ganharia muitos méritos acadêmicos com isso.
E, é claro, como já foi mencionado: ninguém corre o risco de refazer todos os tipos de aprovação regulatória para mudar para R. .
Embora seja bastante pessimista, minha resposta seria que o tipo de pessoa que toma decisões abrangentes em empresas como 'nós apenas usamos SAS' também é o tipo de pessoa que não confia no que não entende e automaticamente pensa no valor de algo é diretamente proporcional à quantidade de dinheiro que você gasta nele. Isso os leva a preferir pagar pelo SAS ao invés de gastar tempo investigando alternativas.
Por que uma grande empresa farmacêutica gostaria de converter para SAS o R? O SAS custa milhões, mas não é nada para uma empresa farmacêutica. No entanto, converter todos os sistemas de relatórios estáveis do SAS para R custaria 50 a 100 vezes mais.
O SAS possui um sistema de suporte fenomenal: toda vez que eu precisava de ajuda, eles eram capazes de fornecê-lo em poucas horas.
E o que exatamente R tem que o SAS não possui: 1) gráficos melhores ... ok, é grande, mas os gráficos não são tudo. além do R sempre pode ser usada uma ferramenta extra para criar alguns gráficos interessantes e o SAS não é tão ruim quando se trata de gráficos 2) linguagem de programação moderna e mais eficiente. Muitos usuários do SAS não são programadores e não se preocupam em usar uma linguagem interessante. Eles só querem poder analisar os dados.
Eu amo R, mas seria uma loucura para uma grande empresa converter em SAS. No entanto, poderia fazer sentido para empresas menores
Existem várias vantagens principais, em nenhuma ordem específica
Evito intencionalmente o uso de termos pejorativos como "legado" ou "hábito" Muitas empresas usam o SAS há 30 ou 40 anos e possuem milhões de linhas de código em funcionamento. Além disso, existem todos os benefícios de uma base de código estável com milhões de dias de usuário em uma área onde pequenos erros podem ser críticos. Esta é a mesma razão pela qual os sabores do Unix ainda são populares, embora o Unix tenha mais de 40 anos e seja obsoleto de algumas maneiras. Por fim, existe uma grande comunidade de profissionais experientes do SAS, acostumados a resolver problemas de negócios
As empresas têm muitas fontes de dados diferentes, baseadas em diferentes tipos de sistemas e, em muitos casos, vários ambientes operacionais. Recentemente, o R obteve alguns recursos extremamente básicos para lidar com mais do que pode ser mantido na memória. Compare isso com a capacidade do SAS de suportar processamento nativo, otimizado no banco de dados para terradata, para citar apenas um exemplo. Na maioria das situações do mundo real, a parte mais difícil da análise é lidar com os dados e o ambiente operacional. (é necessário executar o código de pontuação do modelo desenvolvido pelo Windows no mainframe? Com SAS, não há problema. Com R, você está sem sorte.) R não resolve nenhum desses problemas.
Um usuário do SAS pode estar razoavelmente certo de que todos os módulos de código foram testados por pessoas qualificadas. Não é necessário dedicar tempo e esforço para aprender a procedência do código ou validá-lo independentemente. Além disso, se forem encontrados problemas de qualquer tipo, assistência robusta (de algo tão básico quanto a documentação a algo tão abrangente quanto a exploração detalhada de resultados inesperados ou o comportamento de um método sofisticado), o usuário pode pegar o telefone e obter ajuda.
A linguagem desliga algumas pessoas porque é diferente das linguagens modernas para programação geral. Dito isto, a linguagem é de alto nível, poderosa, expressiva e abrangente. Em suma, uma vez que você aprende, ele faz o trabalho. Para as empresas, a elegância da solução não é um ponto de venda.
Suporte ao cliente.
Certa vez, conversei com um amigo que trabalha em uma empresa especializada na instalação de servidores e ele me explicou por que as grandes empresas sempre optam pelos produtos da Microsoft em vez de se tornarem de código aberto. A vantagem que a Microsoft tem sobre seus concorrentes de código aberto é o suporte ao cliente. Se algo der errado com o produto, a empresa pode ligar para a Microsoft, grandes empresas ainda têm suporte personalizado para eles. Não é assim com o software de código aberto.
Eu acho que é exatamente o mesmo motivo pelo qual o SAS está tendo precedência sobre o R.
E os Frontends? Qual é o equivalente de R para o SAS Enterprise Guide, Web Report Studio ou Enterprise Miner? Editar: essas ferramentas possibilitam que um usuário que não esteja programando use um DATA WAREHOUSE, sem conhecimento sobre a tecnologia subjacente. Eles não são principalmente ferramentas para o uso do SAS como tal. As GUI R são apenas IDE's para a linguagem / sistema R, AFAIK. Eles não podem fornecer ajuda para o usuário não técnico que deseja obter informações e insights do DWH.
Certa vez, trabalhei para uma empresa de consultoria que prestava assistência à SAS a um grande fabricante de chips no Vale do Silício. Nossa pessoa de contato da empresa nos disse que recebeu uma oferta de outra empresa para fornecer exatamente a mesma consultoria, usando um software diferente que abrange todas as áreas cobertas pelo SAS e que custaria à empresa uma fração do que o SAS estava cobrando. ( US $ 30.000 em vez de US $ 1.000.000). A pessoa de contato considerou o que fazer e decidiu não informar o chefe sobre a oferta, porque temia ser demitido por usar o SAS em primeiro lugar e não considerar alternativas mais baratas. Em vez disso, ele insistiu para que nossa empresa de consultoria desse à empresa uma grande diferença em nossa taxa de consultoria. Nossa empresa concordou.
Eu não acho que a segurança do aplicativo tenha sido mencionada. Esta pergunta foi levantada no Stack Overflow mas foi descartada, pois estava fora do tópico.
Colaboro com o Conselho Nacional Sueco de Saúde e Bem-Estar que usa o SAS. Quando conversei com seus estatísticos (como R), eles afirmam que o pessoal de TI prefere o SAS, pois não confiam nos pacotes baixados no R. Minha esposa também trabalha no SAS e sua instituição costuma reivindicar o mesmo problema ...
Gostaria muito de ver alguns comentários sobre esse assunto. Fiz uma pesquisa rápida, mas não encontrei boas referências ...
A razão pela qual eu entendi a mais convincente foi que o SAS possui uma extensa biblioteca de módulos verticais de negócios específicos que as pessoas nessas verticais usam, por isso é meio que um bloqueio.
Mas também que o SAS atendeu às necessidades desses segmentos verticais nos negócios e otimizou em torno de suas necessidades - otimizado no sentido de "o usuário não precisa fazer muito trabalho extra para obter os resultados". Como eu não sou usuário do SAS, isso não significa uma defesa tendenciosa da estratégia de negócios do SAS.
Sendo o grande produto comercial que o SAS é, há um esforço forte e coordenado dos vendedores pagos para promovê-lo. Não acho que os esforços para promover o uso de R possam corresponder a eles.
Eu olho para código aberto ou software licenciado como este, seja SAS ou qualquer outra coisa. Meu departamento de TI está lá para fornecer um serviço aos nossos negócios. A empresa não ganha dinheiro com TI, apenas com os negócios que a TI suporta. O negócio tem receita anual de US $ 16 bilhões. A TI custa cerca de US $ 200 milhões por ano. Se o dinheiro fosse o problema, eu cortaria custos, mas se economizar 10% ( US $ 20 milhões) do meu orçamento, a empresa notará? Eles apenas reduzirão meu orçamento no próximo ano? Se a TI falhar, os negócios perderão receita, quanto variará na natureza da falha. Partes do negócio não podem mais gerar receita. Se um produto como o SAS falhar, posso processar sob um contrato. Se um produto OSS falhar, não posso. Não recuperarei meus $16 bilhões, mas eu posso receber de volta e, realisticamente, com o SAS, é improvável que você perca muito. A diferença de preço versus custo deve justificar qualquer risco adicional percebido para os negócios. Às vezes, é mais barato ficar com o SAS do que treinar novamente. Às vezes, existem problemas de prioridade mais alta, então as empresas ficam com o SAS. Algumas empresas não precisam da funcionalidade completa; nesse caso, alternativas são viáveis. Alguns não precisam do suporte e, novamente, as alternativas são viáveis. Se você atender aos requisitos de negócios, as duas opções serão válidas. Se você deseja fornecer suporte para uma empresa, precisa analisar o custo total de propriedade em 5 a 10 anos, a capacidade de recrutar especialistas nas ferramentas, a estabilidade no produto para que você não precise reescrever tudo a cada novo lançamento, os cursos de treinamento disponíveis para aperfeiçoar as habilidades,
Algumas razões que eu não vi mencionadas:
Melhor documentação. A documentação do SAS é detalhada, a documentação do R é concisa. Muitas empresas podem preferir documentação detalhada.
Melhores mensagens de erro. As mensagens de erro de R geralmente parecem projetadas para provar que a pessoa que escreve a mensagem é mais inteligente do que a pessoa que a lê.
Suporte técnico. O SAS possui o melhor suporte técnico que já encontrei em qualquer lugar, fornecido pelo SAS. Você pode obter ajuda com o R, mas essa ajuda está espalhada por diferentes lugares e nem sempre está disponível. As pessoas nos vários sites que fornecem ajuda com R são voluntários - e os voluntários não são obrigados a ajudar. As pessoas no suporte técnico da SAS são pagas para fazer o que fazem - e o fazem bem. Eles não apenas fazem isso bem, eles fazem educadamente uma característica que muitas vezes não está presente em todas as comunidades R (minha favorita? "Recebi ajuda digitando 'help', por que você não tenta digitar 'help'?")
Eu acho que o ângulo herdado pode ser grande pelo seguinte motivo. Uma organização contrata uma pessoa, chame-a de pessoa X. Eles são um guru / assistente de computação / etc. Eles constroem programas / ferramentas incríveis do SAS / etc. Eles são tão bons que outras pessoas na organização não sentem que precisam entender como os programas funcionam. Eles facilitam o pressionamento de um botão e tudo funciona (as caixas pretas mágicas).
A pessoa X sai da organização. Infelizmente, o conhecimento que a pessoa X possui deixa a organização (a documentação e o gerenciamento do conhecimento não foram priorizados, os programas de trabalho foram substituídos). Eles são substituídos pela pessoa Y. A pessoa Y é ótima com R, mas não tem idéia sobre o SAS e, portanto, não tem idéia de como os programas SAS realmente funcionam. Existe uma enorme curva de aprendizado para descobrir o queé significativamente maior que uma licença de um ano para o SAS. Espero que o SAS esteja analisando esse trade-off e deixando isso influenciar a forma como define a taxa de licença (bem, eu faria se trabalhasse no SAS). Observe também como os procedimentos de plotagem SAS são muito melhores do que uma década atrás (por exemplo, proc sgplot vs proc plot). coincidência que R fez boa plotagem primeiro? Eu acho que não! Isso reduz efetivamente a eficiência da troca porque a plotagem não é mais tão diferente - R ainda é melhor, mas não o suficiente para trocar ...
Para as estatísticas industriais, existem pessoas com garantia de qualidade que (geralmente) não têm programação, estatística ou formação científica e que auditam estatísticos, programadores e cientistas. Eles querem saber: "Como você sabe que o que está fazendo é certo?" e "Se estiver errado, como podemos culpar alguém e como eles pagarão por isso?".
A licença GNU / GPL Copyleft vem com texto em lata que diz: "R é um software livre e NÃO É GARANTIDO ABSOLUTAMENTE SEM GARANTIA" no texto de letras maiúsculas exatamente como eu escrevi. Isso é ofensivo. Quando uma pessoa de qualidade lê este texto, basicamente desacredita R totalmente. Quero dizer, se um produto é bom, vale a pena adicionar uma garantia, certo? Tais produtos comerciais nos levaram a acreditar. Na verdade, foi o FDA quem disse que aceitaria envios regulatórios no R que refletissem uma mudança no mar na indústria de software. (Observe que esta declaração vem após a data de postagem original da pergunta.)
Para alguém que não sabe nada sobre computadores, os cenários imaginados de segurança, irreprodutibilidade e graves erros científicos são ilimitados como resultado dessa ABSOLUTAMENTE FALTA DE GARANTIA. Todos concordamos que erros podem ter custos catastróficos. Para sua licença do SAS, o SAS possui especialistas que podem explicar seu software aos auditores e, no cenário impossível de o SAS realmente causar esse problema, eles podem ser responsabilizados por multas e punições (eles também têm dinheiro suficiente para os advogados garantirem que exonerado completamente nesse caso). O ônus e o custo de um analista / programador apresentar esse caso para R equivale basicamente a uma licença SAS. Não que a programação no SAS o exonere completamente da carga esmagadora da conformidade com a qualidade!
Então, basicamente, eu diria que a litígio tem desempenhado um papel importante na necessidade de um software de licença caro.