10 recursos úteis do R que você talvez não conheça

imagem

OR está cheio de várias funções. Abaixo darei dez dos mais interessantes deles, que muitos talvez não conheçam. O artigo apareceu depois que descobri que minhas histórias sobre alguns dos recursos do R que eu uso no meu trabalho são aceitas com entusiasmo por programadores familiares. Se você já sabe tudo sobre isso, peço desculpas pelo tempo gasto. Ao mesmo tempo, se você tiver algo para compartilhar, informe algo útil nos comentários.

A Skillbox recomenda: Tutorial do desenvolvedor do Python .

Lembramos que: para todos os leitores de "Habr" - um desconto de 10.000 rublos ao se inscrever em qualquer curso Skillbox usando o código promocional "Habr".

Função de comutação


Eu realmente gosto muito de switch (). De fato, essa é uma abreviação conveniente da instrução if ao escolher um valor de acordo com o valor de outra variável. Acho isso especialmente útil ao escrever código que deve carregar um conjunto de dados específico de acordo com uma opção anterior. Por exemplo, se houver uma variável chamada animal e você precisar selecionar um conjunto de dados específico, dependendo se o animal é um cachorro, gato ou coelho, escreva o seguinte:

dados <- read.csv (
interruptor (animal,
"Cão" = "dogdata.csv",
"Cat" = "catdata.csv",
"Coelho" = "rabbitdata.csv")
)

Esse recurso será útil em aplicativos Shiny, nos quais você precisará carregar vários conjuntos de dados ou arquivos de ambiente, dependendo de um ou vários itens do menu de entrada.

Atalhos de teclado para RStudio


Esse hack não é tanto para o R quanto para o RStudio IDE. No entanto, as teclas de atalho são sempre muito convenientes, permitindo economizar tempo ao inserir texto. Meus favoritos são Ctrl + Shift + M para o operador%>% e Alt + para o operador <-.

Para visualizar todas as teclas de atalho, basta pressionar Alt + Shift + K no RStudio.

Pacote Flexdashboard


Quando você precisa iniciar rapidamente o painel de controle Shiny, não há nada melhor que o pacote do painel. Ele fornece a capacidade de trabalhar com atalhos HTML, o que facilita a criação de barras laterais, linhas e colunas com facilidade e sem problemas. Também é possível usar a barra de título, que permite colocá-la em diferentes páginas do aplicativo, deixar ícones, atalhos no Github, endereços de e-mail e muito mais.

O pacote permite que você trabalhe dentro da estrutura do Rmarkdown, para poder colocar todos os aplicativos em um arquivo Rmd, em vez de distribuí-los para diferentes servidores e arquivos de interface do usuário, como é feito, por exemplo, usando o painel de controle brilhante. Uso o flexdashboard sempre que preciso criar um painel de controle de protótipo simples antes de começar a trabalhar em algo complicado. Esse recurso permite criar um protótipo em uma hora.

Solicitar e validar funções no R Shiny


O desenvolvimento no R Shiny pode confundi-lo, especialmente quando você recebe constantemente mensagens de erro estranhas que tornam impossível entender o que está acontecendo. Mas, com o tempo, o Shiny desenvolve e aprimora, mais e mais funções aparecem aqui que permitem entender a causa do erro. Portanto, req () resolve o problema com um erro "silencioso", quando em geral não está claro qual é o problema. Com ele, você pode exibir os elementos da interface do usuário associados a ações anteriores. Vamos ilustrar com um exemplo:

saída $ go_button <- shiny :: renderUI ({

# apenas exibir o botão se uma entrada de animal tiver sido escolhida

shiny :: req (input $ animal)

# botão de exibição

shiny :: actionButton ("go",
colar ("Conduta", insira $ animal, "análise!")
)
})

validate () verifica tudo antes da renderização e permite exibir uma mensagem de erro - por exemplo, que o usuário enviou o arquivo errado:

# obter arquivo de entrada csv

inFile <- entrada $ arquivo1
data <- inFile $ caminho de dados

# renderizar tabela somente se forem cães

shiny :: renderTable ({
# verifique se é o arquivo do cão, não gatos ou coelhos
shiny :: validate (
need ("Nome do cão"% em% colnames (dados)),
"Coluna Dog Name não encontrada - você carregou o arquivo certo?"
)

dados
})

Mais informações sobre todas essas funções podem ser encontradas aqui .

Armazenando suas credenciais para si mesmo no ambiente do sistema


Se você planeja compartilhar o código em que deseja inserir dados de acesso, use o ambiente do sistema para evitar colocar suas próprias credenciais no Github ou em outro serviço. Exemplo de canal:

Sys.setenv (
DSN = "database_name",
UID = "ID do usuário",
PASS = "Senha"
)

Agora você pode efetuar login usando variáveis ​​de ambiente:

db <- DBI :: dbConnect (
drv = odbc :: odbc (),
dsn = Sys.getenv ("DSN"),
uid = Sys.getenv ("UID"),
pwd = Sys.getenv ("PASS")
)

É ainda mais conveniente (especialmente se você usa dados com freqüência) configurá-los como variáveis ​​de ambiente diretamente no sistema operacional. Nesse caso, eles sempre estarão disponíveis e você não precisará especificá-los no código.

Automação ordenada com modelador


O pacote do modelador pode ajudar a limpar o código, que possui muitos recursos para converter automaticamente o estilo do código em arrumado. Tudo o que é necessário para isso é executar o styler :: style_file () para seu script problemático. O pacote fará muito (mas não todos) para restaurar a ordem.

Parametrização de documentos R Markdown


Então, você criou um excelente documento R Markdown no qual analisa vários fatos sobre cães. E então lhe ocorre que seria melhor fazer o mesmo trabalho, mas apenas com gatos. Tudo bem, você pode automatizar os relatórios de gatos com apenas um comando. Para fazer isso, você só precisa parametrizar seu documento de remarcação R.

Você pode fazer isso definindo parâmetros para o cabeçalho YAML no documento especificado e, em seguida, valorizando os parâmetros.

- title: "Análise animal"
autor: "Keith McNulty"
data: "21 de março de 2019"
saída:
html_document:
code_folding: "ocultar"
params:
animal_name:
valor: Cão
escolhas:
- Cão
- gato
- Coelho
years_of_study:
input: slider
min: 2000
max: 2019
passo: 1
rodada: 1
set: ''
valor: [2010, 2017]
---

Agora você pode registrar todas as variáveis ​​no código do documento como parâmetros $ animal_name e parâmetros $ years_of_study. Em seguida, usaremos o menu suspenso Knit (ou knit_with_parameters ()) e teremos a oportunidade de selecionar parâmetros.



revelou


discoverjs - um pacote que permite criar ótimas apresentações em HTML com código R embutido, navegação intuitiva e menus de slides. Os atalhos HTML permitem criar rapidamente uma estrutura de slides aninhada com estilos diferentes. Bem, o HTML será executado em qualquer dispositivo, para que a apresentação possa ser aberta em qualquer telefone, tablet ou laptop. A divulgação de informações pode ser configurada instalando o pacote e chamando-o no cabeçalho YAML. Aqui está um exemplo:

- title: "Expondo a borda do universo do People Analytics"
autor: "Keith McNulty"
saída:
discoverjs :: discoverjs_presentation:
centro: sim
template: starwars.html
tema: preto
data: “HR Analytics Meetup London - 18 de março de 2019”
resource_files:
- darth.png
- deathstar.png
- hanchewy.png
- millenium.png
- r2d2-threepio.png
- starwars.html
- starwars.png
- stormtrooper.png
---

O código fonte da apresentação está publicado aqui e a apresentação <a href=foreign rpubs.com/keithmcnulty/hr_meetup_london'> está aqui.



Tags HTML em R Shiny


A maioria dos programadores não aproveita ao máximo as tags HTML que o R Shiny possui. Mas essas são apenas 110 tags que possibilitam a criação de uma chamada curta para uma função HTML ou reprodução de mídia. Por exemplo, recentemente usei as tags $ audio para reproduzir um som "vencedor", que alertou o usuário sobre a conclusão de uma tarefa.

Pacote de louvor


O uso deste pacote é muito simples, mas você precisa exibir elogios ao usuário. Parece estranho, mas eles realmente gostam.



A Skillbox recomenda:

Source: https://habr.com/ru/post/pt449508/


All Articles