poorman: Primeira versão de um clone R dplyr básico

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon Random R Ramblings, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

O primeiro lançamento oficial de poorman (v 0.1.9) agora está no CRAN! Agora você pode instalar poorman diretamente do CRAN com o seguinte código:

install.packages("poorman")

Neste post, quero abordar algumas perguntas comuns que recebi desde que comecei a escrever o pacote.

poorman é um pacote que, sem desculpas, tenta recriar o dplyr API de maneira livre de dependência, usando apenas base R. poorman ainda está em desenvolvimento e não possui todos dplyrDa funcionalidade, mas o que eu consideraria a funcionalidade “principal” está incluída. A ideia por trás poorman é que um usuário deve poder tirar suas dplyr script baseado e execute-o usando poorman sem soluços.

Neste primeiro lançamento oficial, poorman inclui cópias da chave dplyr funções.

select(), rename(), pull(), relocate(), mutate(), transmute(), arrange()
filter(), slice()
summarise() / summarize()
group_by(), ungroup()

poorman também inclui a funcionalidade de junção.

inner_join(), left_join(), right_join(), full_join()
anti_join(), semi_join()

Finalmente poorman também inclui sua própria versão do tubo, para que você não precise carregar ou instalar magrittr.

%>%

Mais funcionalidades estão sendo desenvolvidas e serão adicionadas a tempo.

Esta é provavelmente a pergunta mais comum; por que se preocupar em desenvolver poorman quando dplyr já existe. Bem, existem várias razões pelas quais eu decidi desenvolvê-lo. A razão mais importante para mim, porém, é simplesmente porque eu posso. poorman começou como um desafio pessoal e um pouco de diversão. Também como desenvolvedor freelancer de R, é bom criar meu portfólio de código-fonte aberto que eu possa mostrar aos clientes em potencial.

Leia Também  O quebra-cabeça 'moeda do prisioneiro lançando': simulação organizada em R

Outra razão para o desenvolvimento poorman é que eu queria desafiar um equívoco comum que base R não é tão poderoso, ou tão bom, ou tão útil quanto dplyr. Muitas vezes eu vejo e ouço comentários depreciativos base R e como usuário do idioma há mais de 10 anos – bem antes do início do dplyr Acho esta ideia muito preocupante. poormanA mensagem de inicialização do pacote é bastante comovente nesse sentido.

Eu vi meu pai. Ele era um homem pobre, e eu o observei fazer coisas surpreendentes. – Sidney Poitier

Finalmente, tenho uma alegria natural de ensinar. Escrevendo poorman dá-me uma plataforma para mostrar, com sorte, useRs dois aspectos principais da programação R em base; tarefas comuns de manipulação de dados; e avaliação não padronizada.

Vamos ser honestos, os tidyverse é um conjunto fantástico de pacotes que transformaram a face da análise de dados em R e dplyr é sem dúvida um dos pacotes mais importantes dentro do tidyverse. A API é, na minha opinião, muito fácil de aprender e usar.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Fazer parte do tidyverse, no entanto, significa que dplyr vem com um grande número de dependências que os usuários também devem instalar, o que geralmente é visto como uma desvantagem do uso do tidyverse. As desvantagens das dependências já foram descritas antes e, portanto, não vou entrar em detalhes aqui. No entanto, o que vou dizer é que o usuário pode não precisar de partes adicionais do tidyverse e, portanto, talvez não seja necessário instalar vários pacotes para usar uma ou duas funções.

Algumas dessas dependências são muito úteis, é claro, permitindo a expansão para outras áreas, como acesso a instâncias e bancos de dados Spark usando a mesma API que o usuário já conhece. Isso é ótimo e se você estiver usando essas ferramentas adicionais, recomendo absolutamente que você escolha dplyr sobre poorman. No entanto, se você não precisar de dependências e funcionalidades extras que acompanham o tidyverse então talvez considere dar o leve poorman ir.

Leia Também  Por que R? Seminário on-line sobre exames R / para testes de e-learning e outros

Finalmente, um ponto sobre os tempos de instalação, poorman leva aproximadamente seis segundos para instalar. Se você já teve que instalar ou atualizar dplyr ou o tidyverse, você reconhecerá que isso é muito rápido.



Como já mencionei, vi comentários no passado referentes à inutilidade de R sem a tidyverse e assim o nome poorman é um jogo sutil sobre a idéia de que você deve ser um “homem pobre” se usar base. A ironia, é claro, é que eu consegui recriar – com bastante facilidade – as partes principais do dplyr API usando apenas base R.

Porque eu queria criar algo completamente livre de dependência e adicionar data.table como um Import adiciona uma dependência.

Para responder a isso, precisamos definir o que queremos dizer com “livre de dependência”. poorman possui algumas dependências, mas são apenas para fins de desenvolvimento e, portanto, estão listadas no Suggests parte de DESCRIPTION Arquivo. Portanto, quando um usuário instala o pacote, essas dependências só são instaladas se solicitadas explicitamente. Contudo, poorman não possui nenhuma dependência que os usuários do pacote precisem instalar para usar sua funcionalidade. Eu uso esses pacotes de dependência para me ajudar a desenvolver mais facilmente. Portanto poorman não é verdadeiramente “livre de dependência” como data.table é, mas é livre de dependência para os usuários pretendidos.

Portanto, se você precisar de um pacote de manipulação de dados sem dependência que siga o dplyr API com tempos de instalação curtos, dê poorman uma tentativa. Da mesma forma, se você encontrar algum problema, envie um problema para GitHub.



Se você chegou até aqui, por que não inscreva-se para atualizações do site? Escolha seu sabor: e-mail, Twitter, RSS ou facebook …

Leia Também  Classificação AdaOpt em dígitos manuscritos MNIST (sem pré-processamento)



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br