Pergunta

Eu estou fazendo um pouco análise mais estatísticas sobre algumas coisas ultimamente, e estou curioso se existem linguagens de programação que são particularmente bom para esta finalidade. Eu sei sobre R , mas eu tipo de preferir algo um pouco mais de uso geral (ou é R muito de uso geral?).

Que sugestões que vocês têm? Há algum línguas lá fora, cuja sintaxe / semântica são particularmente orientadas para isso? Ou existem quaisquer idiomas que têm excepcionalmente boas bibliotecas?

Foi útil?

Solução

No concurso - R como a principal implementação de S (e que passa a ser apropriada Open Source e um projeto GNU também).

Não só como a linguagem S projetado precisamente para este fim (veja os livros de John Chambers), mas o bastante rico suporte de pacotes específicos de domínio em CRAN é incomparável:. mais de 2000 pacotes com controle de qualidade adequada, muitas vezes, de autoria de especialistas no campo

A ACM vê-lo da mesma forma quando se deu a href="http://awards.acm.org/software_system/" rel="noreferrer"> ACM Software Sistemas Award para John Chambers em 1998, com o seguinte citação

John M. Chambers

Para o sistema S, que tem sempre alteradas como as pessoas analisar, visualizar e manipular dados.

Para referência, outros vencedores do prêmio foram TeX, Smalltalk, Postscript, RPC, 'web', Mosaico, Tcl / Tk, Java, faça ... Não uma má companhia para a.

Agora, se você 'apenas' pretende recolher e resumir alguns dados apenas sobre qualquer linguagem procedural ou funcional fará. Mas se você quiser algo que era projetado para programação com dados , em seguida, R como a implementação S principal é.

Outras dicas

Não há dúvida de que R é a melhor linguagem para as estatísticas, como diz Dirk. Eu só quero acrescentar alguns pontos a esta:

Em primeiro lugar, acho que a razão principal que você deve usar R é por causa da comunidade. Ele é usado tão fortemente por especialistas da academia e da indústria nesta fase, que nenhuma outra linguagem chega perto de rivalizar com a riqueza em CRAN.

Em segundo lugar, deve-se reconhecer que R a linguagem é uma alegria para trabalhar. Ela é minha língua primária e ter alternativas experimentadas, eu tenho não intenção de abandoná-lo tão cedo. Mas também não tem o monopólio da sua força para a programação com os dados e esta afirmação pode ser levado muito longe. Todas as línguas Lisp e funcionais são fortes em programação de dados. Lisp, afinal, foi derivado de "programação lista", e é a influência do Lisp em R que fazem a língua o que é.

Existem membros da comunidade R (por exemplo. Ross Ihaka) que estão realmente vendo Lisp como o languge estatística do futuro (ver a "volta para o futuro" paper para uma referência), devido a alguns problemas de design profundas na linguagem R (por exemplo. não multithreading).

Assim, enquanto R é, sem dúvida, a melhor linguagem para computação estatística, vejo algum valor em estar familiarizado com uma outra língua como OCaml, Haskell, ou (possivelmente) Clojure / Incanter.

Tenha um olhar em Incanter , com base em clojure . "Incanter é uma baseada em Clojure, R-como plataforma para computação estatística e gráficos." Clojure é uma linguagem Lisp baseado implementado no topo da JVM. Tem fácil acesso a bibliotecas Java. Não é possível obter objectivo mais geral do que isso.

Da minha experiência, R é uma linguagem extremamente poderosa nas seguintes áreas:

  1. Manipulação e transformação de dados.

  2. A análise estatística.

  3. Graphics.

Mas R não é de forma um pônei de três truque. Eu também tenho aplicado a língua para tarefas que não se encaixam totalmente nas categorias acima. Alguns exemplos são:

  • Um script para ajudar na criação de binários universais OSX, identificando e estática de correspondência e bibliotecas dinâmicas de arquiteturas diferentes e, em seguida, executar os grupos resultantes através lipo.

  • Scripts para informações raspar a partir de páginas da web.

  • Um conjunto de scripts para criar as imagens georreferenciadas, cortar as imagens em tilesets usando GDAL, formam uma JSON manifesto que descreve a saída e enviar o resultado para um site para visualização imediata por OpenLayers.

A minha parte favorita de usar o R é a frequência com que eu começo a dizer:

WHOA! Há um pacote que faz QUE?!

Você pode ter um olhar para o programa sábio , que é uma re-implementação do interpretador Python que permitem ligar para diferentes linguagens de programação para as estatísticas (R, Matlab, oitava, etc ..) usando uma sintaxe python.

Uma das principais questões ao escrever programas para fazer estatísticas é que você pode acabar com ter muitos pequenos scripts diferentes, cada um fazendo uma tarefa separada, e você pode acabar com ter pastas bagunçadas e confusão em seus resultados.

Assim, além de escolher uma linguagem de programação (eu acho que outras pessoas responderam ao já a sua pergunta) também precisa de sintaxe para definir condutas de roteiros: você pode fazer isso com o programa 'gnu / make' (por exemplo, ler < a href = "http://swc.scipy.org/lec/build.html" rel = "nofollow noreferrer"> este ) ou com este sage , ou existem outras soluções.

Eu diria que R como a maioria dos cursos de Estatísticas em meu uso Universidade R ea maioria dos meus amigos que tomaram esses cursos são bastante satisfeito com a sua gama e alcance.

Eu até tentei MATLAB e achei muito útil.

aplausos

R é ótimo se todas você está fazendo é estatística. Ele tem um agradável ferramentas de interface e visualização interativa. No entanto, é muito difícil de usar como uma linguagem de propósito geral, porque sua sintaxe e semântica são altamente otimizado para fazer estatísticas. Se você quer uma linguagem mais de uso geral, Python com SciPy seria uma escolha decente, embora eu usei-o e encontrou as rotinas estatísticos nele para ser um pouco imaturo. Eles muitas vezes são ineficientes ou falhar em casos de canto.

Se você está fazendo mineração de dados em grandes conjuntos de dados, tornando o desempenho importante, e / ou você não se importa usando ferramentas de alfa-ish, a linguagem de programação D e dstats biblioteca pode ser muito bom. D é sobre como o general-purpose uma linguagem que você começa, mas dstats IMHO é muito fácil de usar, porque template metaprogramming facilita para projetar uma boa API mesmo em uma linguagem compilado estaticamente, close-to-the-metal. (Divulgação completa:. Eu escrevi a maior parte dstats, então é claro que eu acho que é bom)

O pystats biblioteca (para Python) é bem adequado para análise estatística.

Você já pensou em usar somethinbg como MatLab ? Ele tem muitos recursos avançados para realizar a análise de dados e você pode fazer alguma programação no ambiente.

E sobre Stata ? Eu tenho um amigo que é um aluno de Economia PhD e ele delira com Stata o tempo todo. E eu tenho uma afinidade pessoal para Mathematica .

Matlab é bom em estatísticas também. Não é exatamente livre, no entanto.

Octave é um clone livre, que também pode fazer o que você precisa.

Um amigo meu, que concentra-se em estatísticas do mercado usa SAS . Eu não sei muito sobre ele- não parece como uma linguagem "real", mas pode valer a pena conferir.

Eu sou tudo para Python com ligações R.

Tenha um olhar para o href="http://roofit.sourceforge.net/" rel="nofollow noreferrer"> RooFit pacote para ROOT . É utilizado por exemplo físicos de partículas para análise de dados.

ROOT é um quadro C++ e também vem com Python e Ruby ligações. É também inclui um intérprete C++ interativo limitado.

GOSTARIA também gostaria de +1 para R. Pode não ser tão fácil de manusear como STATA ou mesmo SPSS, em particular para não-programadores. Embora eu acho que o stackoverflower média é muito mais de um programador do que eu.

Dito isto, eu gostaria de dar um breve resumo, porque eu vi um par de pacotes estatísticos de uma usuários (economistas (ponto de vista.

STATA ainda é a escolha para a maioria dos economistas, e de fato ele tem algumas vantagens. STATAs GUI ajuda a permanecer no comando de uma carga de opções e funções estatísticas. Além STATA parece ser único pacote que tem uma lista de discussão que vem pelo menos um pouco perto do ponto de referência: a lista de Divulgação R one-of-a-kind. Ainda pode-se gravar arquivos .do sofisticados ou baixar algum a partir da web. STATA pode não ser tão perto de uma linguagem de programação como R, mas ainda oferece uma linguagem de programação bom para fins estatísticos. Dependendo do tamanho de vocês conjuntos de dados você deve verificar o que licenciar você precisa.

Você também pode usar SPSS que é ainda mais de uma ferramenta GUI que STATA e é um pouco menos abrangente, por exemplo, para o trabalho econométrico, tais como modelos Tobit ou regressões painel, particularmente modelos de escolha discreta.

Também há's também Eviews - infelizmente eu esqueci mais sobre isso e ser usado apenas por um par de regressões simples em meus estudos. Assim eu apenas nomeá-lo aqui. Mesmo sobre Gauss, que aparece mais matemática do que o resto do bloco. Recentemente eu ter ouvido falar sobre Octave, que também é mais matemática.

Para o meu uso de R pessoal é cabeça e ombros acima de qualquer outra coisa. Ocasionalmente eu emparelhá-lo em Python ou conecte-o MySQL ou PostgreSQL bancos de dados que também funciona bem. R realmente ajuda a aprender estatísticas, porque você precisa entender mais, a fim de fazer algo que você precisa clicar o seu caminho através dos gostos de SPSS. Mas se você precisar de uma GUI, você pode tentar rkward ou considerar a instalação de Komodo / Sciviews-R ou Tinn-R no Windows. Estes últimos arena't GUIs, mas os editores mais ou menos que o apoio Código Destaque e código de sugestões que também ajuda a ir fazê-lo. Farnsworth Econometrics em R é uma boa leitura. Ah, e eu não posso esquecer de mencionar a plotagem. o pacote ggplot2 de Hadley Wickham é apenas fora do gancho. A melhor maneira de criar gráficos enquanto você não precisa deles para ser interativo. No final do dia R é realmente a mais flexível pacote: você mesmo pode instalá-lo em um servidor web e construir algum bom webinterface - o céu é o limite

.

APL é aparentemente um dos melhores linguagem em torno de estatísticas do trabalho. Não é de propósito geral embora ...

Ele requer um teclado especial e fonte como ele não usa ascii.

Jogo da Vida de Conway em uma linha de APL para um pouco de uma visão geral do que pode ser feito com ele.

Como eu sou o estudante de estatísticas. Eu encontrei R o melhor entre todas as outras estatísticas software relacionados. talvez isso tenha capacidade de fazer qualquer coisa com as estatísticas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top