Aqui você vê as diferenças entre duas revisões dessa página.
Próxima revisão | Revisão anterior | ||
03_apostila:02-entrada [2020/08/12 06:04] 127.0.0.1 edição externa |
03_apostila:02-entrada [2020/09/23 17:12] (atual) adalardo link |
||
---|---|---|---|
Linha 13: | Linha 13: | ||
Em ambiente UNIX (como o Linux, por exemplo), podemos iniciar o R a partir do interpretador de comandos (//shell//) digitando o comando ''R'': | Em ambiente UNIX (como o Linux, por exemplo), podemos iniciar o R a partir do interpretador de comandos (//shell//) digitando o comando ''R'': | ||
- | <code> | + | <code rsplus> |
parsival@jatai $ R | parsival@jatai $ R | ||
</code> | </code> | ||
Linha 21: | Linha 21: | ||
Independentemente de como inicia, o R apresenta uma tela com (aproximadamente) a seguinte forma: | Independentemente de como inicia, o R apresenta uma tela com (aproximadamente) a seguinte forma: | ||
- | <code> | + | <code rsplus> |
R version 2.7.0 (2008-04-22) | R version 2.7.0 (2008-04-22) | ||
Copyright (C) 2008 The R Foundation for Statistical Computing | Copyright (C) 2008 The R Foundation for Statistical Computing | ||
Linha 57: | Linha 57: | ||
O estado de espera ocorre quando o usuário envia um comando incompleto, o que é indicado por um sinal de "''+''": | O estado de espera ocorre quando o usuário envia um comando incompleto, o que é indicado por um sinal de "''+''": | ||
- | <code> | + | <code rsplus> |
> | > | ||
> log(2 | > log(2 | ||
Linha 76: | Linha 76: | ||
Como nos exemplos abaixo: | Como nos exemplos abaixo: | ||
- | <code> | + | <code rsplus> |
> plot(x=area,y=riqueza) | > plot(x=area,y=riqueza) | ||
> plot(area, riqueza) | > plot(area, riqueza) | ||
Linha 117: | Linha 117: | ||
Há, portanto, três maneiras de guardar os resultados de um comando em um objeto: | Há, portanto, três maneiras de guardar os resultados de um comando em um objeto: | ||
- | <code> | + | <code rsplus> |
> a <- sqrt(4) | > a <- sqrt(4) | ||
> b = sqrt(4) | > b = sqrt(4) | ||
Linha 124: | Linha 124: | ||
Para exibir o conteúdo de um objeto, basta digitar seu nome | Para exibir o conteúdo de um objeto, basta digitar seu nome | ||
- | <code> | + | <code rsplus> |
> a | > a | ||
[1] 2 | [1] 2 | ||
Linha 135: | Linha 135: | ||
Se a atribuição é para um objeto que não existe, esse objeto é criado. **Mas cuidado**: se já há um objeto com o mesmo nome na sua área de trabalho, seus valores serão substituídos: | Se a atribuição é para um objeto que não existe, esse objeto é criado. **Mas cuidado**: se já há um objeto com o mesmo nome na sua área de trabalho, seus valores serão substituídos: | ||
- | <code> | + | <code rsplus> |
> a <- sqrt(4) | > a <- sqrt(4) | ||
> a | > a | ||
Linha 148: | Linha 148: | ||
==== Mensagens de Erro e de Avisos ==== | ==== Mensagens de Erro e de Avisos ==== | ||
Como em qualquer linguagem, o R tem regras de sintaxe e grafia. Mas contrário das linguagens humanas, mesmo um pequeno erro torna a mensagem incompreensível para o R, que então retorna uma mensagem de erro: | Como em qualquer linguagem, o R tem regras de sintaxe e grafia. Mas contrário das linguagens humanas, mesmo um pequeno erro torna a mensagem incompreensível para o R, que então retorna uma mensagem de erro: | ||
- | <code> | + | <code rsplus> |
> logaritmo(2) | > logaritmo(2) | ||
Erro: não foi posssível encontrar a função "logaritmo" | Erro: não foi posssível encontrar a função "logaritmo" | ||
Linha 160: | Linha 160: | ||
Em outros casos, o comando pode ser executado, mas com um resultado que possivelmente você não desejava. O R cria mensagens de alerta para os casos mais comuns desses resultados que merecem atenção : | Em outros casos, o comando pode ser executado, mas com um resultado que possivelmente você não desejava. O R cria mensagens de alerta para os casos mais comuns desses resultados que merecem atenção : | ||
- | <code> | + | <code rsplus> |
> log(-2) | > log(-2) | ||
[1] NaN | [1] NaN | ||
Linha 172: | Linha 172: | ||
Para sair do R, a forma mais fácil é usar o comando ''q'' (do inglês //quit//). Nesse caso o R, lhe pergunda se você deseja //salvar// (gravar) | Para sair do R, a forma mais fácil é usar o comando ''q'' (do inglês //quit//). Nesse caso o R, lhe pergunda se você deseja //salvar// (gravar) | ||
sua sessão de trabalho. | sua sessão de trabalho. | ||
- | <code> | + | <code rsplus> |
> q() | > q() | ||
Save workspace image? [y/n/c]: | Save workspace image? [y/n/c]: | ||
Linha 192: | Linha 192: | ||
O diretório a partir do qual você iniciou o R é o **diretório de trabalho** dessa sessão. Para verificar seu diretório de trabalho, use o comando ''getwd''((acrônimo de "get working directory")): | O diretório a partir do qual você iniciou o R é o **diretório de trabalho** dessa sessão. Para verificar seu diretório de trabalho, use o comando ''getwd''((acrônimo de "get working directory")): | ||
- | <code> | + | <code rsplus> |
> getwd() | > getwd() | ||
[1] "/home/paulo/work/Pos_grad/Eco_USP/cursoR" | [1] "/home/paulo/work/Pos_grad/Eco_USP/cursoR" | ||
Linha 199: | Linha 199: | ||
Para alterar o diretório de trabalho há a função ''setwd'': | Para alterar o diretório de trabalho há a função ''setwd'': | ||
- | <code> | + | <code rsplus> |
> setwd("/home/paulo/work/treinos_R/") | > setwd("/home/paulo/work/treinos_R/") | ||
> getwd() | > getwd() | ||
Linha 216: | Linha 216: | ||
Se acontecer do computador ser desligado durante uma sessão do R, tudo que foi feito será perdido!!! | Se acontecer do computador ser desligado durante uma sessão do R, tudo que foi feito será perdido!!! | ||
Para evitar isso, é interessante gravar com frequência o **workspace** utilizando o comando '''save.image()''': | Para evitar isso, é interessante gravar com frequência o **workspace** utilizando o comando '''save.image()''': | ||
- | <code> | + | <code rsplus> |
> save.image() | > save.image() | ||
> | > | ||
Linha 223: | Linha 223: | ||
Por //default//, o R gravará o workspace no arquivo ''.RData'', e quando você reiniciar uma sessão, o R automaticamente **carrega** esse arquivo. | Por //default//, o R gravará o workspace no arquivo ''.RData'', e quando você reiniciar uma sessão, o R automaticamente **carrega** esse arquivo. | ||
Mas você pode salvar em outro arquivo utilizando o **argumento** ''file'' da função: | Mas você pode salvar em outro arquivo utilizando o **argumento** ''file'' da função: | ||
- | <code> | + | <code rsplus> |
> save.image(file="minha-sessao-introdutoria.RData") | > save.image(file="minha-sessao-introdutoria.RData") | ||
> | > | ||
Linha 230: | Linha 230: | ||
Como o R carrega automaticamente apenas o arquivo ''.RData'' que está no diretório de trabalho, caso deseje carregar outros arquivos você deverá usar a função ''load'': | Como o R carrega automaticamente apenas o arquivo ''.RData'' que está no diretório de trabalho, caso deseje carregar outros arquivos você deverá usar a função ''load'': | ||
- | <code> | + | <code rsplus> |
># Carrega um arquivo de workspace no mesmo diretório | ># Carrega um arquivo de workspace no mesmo diretório | ||
> load(file="minha-sessao-introdutoria.RData") | > load(file="minha-sessao-introdutoria.RData") | ||
Linha 241: | Linha 241: | ||
Se você quiser salvar apenas alguns objetos (digamos, os resultados das suas análises), você pode usar o comando ''save'': | Se você quiser salvar apenas alguns objetos (digamos, os resultados das suas análises), você pode usar o comando ''save'': | ||
- | <code> | + | <code rsplus> |
> save(modelo1, file="meu_modelo.RData") | > save(modelo1, file="meu_modelo.RData") | ||
> save(dados, modelo1, modelo2, file="meus_modelos.RData") | > save(dados, modelo1, modelo2, file="meus_modelos.RData") | ||
Linha 249: | Linha 249: | ||
O comando ''save'' aceita o resultado de outros comandos. Por exemplo, o código abaixo equivale ao comando save.image(): | O comando ''save'' aceita o resultado de outros comandos. Por exemplo, o código abaixo equivale ao comando save.image(): | ||
- | <code> | + | <code rsplus> |
> save (list=ls(), file="tudo.RData") | > save (list=ls(), file="tudo.RData") | ||
</code> | </code> | ||
Linha 264: | Linha 264: | ||
O comando ''ls'' lista todo o conteúdo da área de trabalho, se não é fornecido argumento: | O comando ''ls'' lista todo o conteúdo da área de trabalho, se não é fornecido argumento: | ||
- | <code> | + | <code rsplus> |
> ls() | > ls() | ||
[1] "consoantes" "CONSOANTES" "vogais" "VOGAIS" | [1] "consoantes" "CONSOANTES" "vogais" "VOGAIS" | ||
Linha 283: | Linha 283: | ||
O comando ''rm'' apaga objetos da área de trabalho: | O comando ''rm'' apaga objetos da área de trabalho: | ||
- | <code> | + | <code rsplus> |
> ls() | > ls() | ||
[1] "consoantes" "CONSOANTES" "vogais" "VOGAIS" | [1] "consoantes" "CONSOANTES" "vogais" "VOGAIS" | ||
Linha 325: | Linha 325: | ||
Para conseguir ajuda sobre um comando pode ser usada a função ''help'': | Para conseguir ajuda sobre um comando pode ser usada a função ''help'': | ||
- | <code> | + | <code rsplus> |
> help(mean) | > help(mean) | ||
</code> | </code> | ||
ou então o operador de ajuda que é o sinal de interrogação '?': | ou então o operador de ajuda que é o sinal de interrogação '?': | ||
- | <code> | + | <code rsplus> |
?mean | ?mean | ||
</code> | </code> | ||
No caso se buscar ajuda sobre um **operador** (símbolo para operações aritméticas e algébricas) devemos utilizar as aspas duplas: | No caso se buscar ajuda sobre um **operador** (símbolo para operações aritméticas e algébricas) devemos utilizar as aspas duplas: | ||
- | <code> | + | <code rsplus> |
> help("+") | > help("+") | ||
> ?"*" | > ?"*" | ||
Linha 358: | Linha 358: | ||
No modo **help interativo** também é possível se fazer uma busca por uma palavra (//string//) usando a tecla '/', na forma: | No modo **help interativo** também é possível se fazer uma busca por uma palavra (//string//) usando a tecla '/', na forma: | ||
- | <code> | + | <code rsplus> |
/string | /string | ||
</code> | </code> | ||
Linha 387: | Linha 387: | ||
- | <code> | + | <code rsplus> |
mean package:base R Documentation | mean package:base R Documentation | ||
Linha 460: | Linha 460: | ||
Para os que preferem trabalhar com ajuda em hipertexto (html), há o comando ''help.start()'': | Para os que preferem trabalhar com ajuda em hipertexto (html), há o comando ''help.start()'': | ||
- | <code> | + | <code rsplus> |
> help.start() | > help.start() | ||
Making links in per-session dir ... | Making links in per-session dir ... | ||
Linha 471: | Linha 471: | ||
Após esta mensagem, um portal de ajuda em hipertexto será aberto no navegador de internet padrão do sistema. A partir dessa página inicial é possível fazer pesquisas por palavras-chave, consultar funções por pacote ou por ordem alfabética, obter textos introdutórios sobre a linguagem, e muito mais. | Após esta mensagem, um portal de ajuda em hipertexto será aberto no navegador de internet padrão do sistema. A partir dessa página inicial é possível fazer pesquisas por palavras-chave, consultar funções por pacote ou por ordem alfabética, obter textos introdutórios sobre a linguagem, e muito mais. | ||
<WRAP center round box 560px> | <WRAP center round box 560px> | ||
- | {{:bie5782:03_apostila:fetch.png?550|}} | + | {{:03_apostila:fetch.png?550|}} |
</WRAP> | </WRAP> | ||
Linha 484: | Linha 484: | ||
Outro comando muito útil é o ''apropos''. Ele possibilita sabermos quais funções do R tem no nome uma certa palavra (//string//): | Outro comando muito útil é o ''apropos''. Ele possibilita sabermos quais funções do R tem no nome uma certa palavra (//string//): | ||
- | <code> | + | <code rsplus> |
> apropos(plot) | > apropos(plot) | ||
[1] "biplot" "interaction.plot" "lag.plot" | [1] "biplot" "interaction.plot" "lag.plot" | ||
Linha 503: | Linha 503: | ||
Para pesquisas mais complexas e refinadas há ainda a função ''help.search()''. Por exemplo, para pesquisar funções que tenham a palavra "skew"no título: | Para pesquisas mais complexas e refinadas há ainda a função ''help.search()''. Por exemplo, para pesquisar funções que tenham a palavra "skew"no título: | ||
- | <code> | + | <code rsplus> |
> help.search(field="title","skew") | > help.search(field="title","skew") | ||
Linha 525: | Linha 525: | ||
Para obter apenas os exemplos que estão na ajuda de uma função, use a função ''example'': | Para obter apenas os exemplos que estão na ajuda de uma função, use a função ''example'': | ||
- | <code> | + | <code rsplus> |
> example(mean) | > example(mean) | ||
Linha 542: | Linha 542: | ||
Muitas vezes precisamos apenas nos lembrar dos argumentos de uma função. Para isso, use a função ''args'', que retorna os argumentos de uma função: | Muitas vezes precisamos apenas nos lembrar dos argumentos de uma função. Para isso, use a função ''args'', que retorna os argumentos de uma função: | ||
- | <code> | + | <code rsplus> |
> args(chisq.test) | > args(chisq.test) | ||
function (x, y = NULL, correct = TRUE, p = rep(1/length(x), length(x)), | function (x, y = NULL, correct = TRUE, p = rep(1/length(x), length(x)), | ||
Linha 581: | Linha 581: | ||
é necessário entender as diferenças entre **baixar** (download) o pacote do repositório e **carregar** em sua área de trabalho. | é necessário entender as diferenças entre **baixar** (download) o pacote do repositório e **carregar** em sua área de trabalho. | ||
Para baixar algum pacote disponível no repositório CRAN do R é necessário utilizar o comando //install.packages()// com o nome do pacote entre "" dentro do parenteses(( a princípio todas as palavras que escrevemos sem aspas no R ele busca como sendo objetos presentes em nossa área de trabalho ou pacotes carregados ou instalados)). | Para baixar algum pacote disponível no repositório CRAN do R é necessário utilizar o comando //install.packages()// com o nome do pacote entre "" dentro do parenteses(( a princípio todas as palavras que escrevemos sem aspas no R ele busca como sendo objetos presentes em nossa área de trabalho ou pacotes carregados ou instalados)). | ||
- | <code> | + | <code rsplus> |
install.packages("vegan") | install.packages("vegan") | ||
</code> | </code> | ||
Linha 589: | Linha 589: | ||
Caso o pacote esteja instalado ele aparecerá entre os hiperlinks da página de [[#Ajuda em Hipertexto: ''help.start''|ajuda hipertexto]] da função //help.start()//. Entre na página do pacote e navegue pelas opções e funções que forem de seu interesse. Escolha uma função (decorana) e em seguida tente apresentar o ajuda dela pelo R: | Caso o pacote esteja instalado ele aparecerá entre os hiperlinks da página de [[#Ajuda em Hipertexto: ''help.start''|ajuda hipertexto]] da função //help.start()//. Entre na página do pacote e navegue pelas opções e funções que forem de seu interesse. Escolha uma função (decorana) e em seguida tente apresentar o ajuda dela pelo R: | ||
- | <code> | + | <code rsplus> |
help.start() | help.start() | ||
help(decorana) | help(decorana) | ||
Linha 596: | Linha 596: | ||
A mensagem (ou algo similar): //"No documentation for ‘decorana’ in specified packages and libraries..."//, significa que a sua sessão do R não encontrou a documentação referente a função, apesar do pacote estar instalado em nosso computador. Isso aconteceu porque não carregamos a função em nossa área de trabalho, para cada projeto, precisamos carregar aqueles pacotes que vamos necessitar (normalmente nas primeiras linhas de comando do nosso código): | A mensagem (ou algo similar): //"No documentation for ‘decorana’ in specified packages and libraries..."//, significa que a sua sessão do R não encontrou a documentação referente a função, apesar do pacote estar instalado em nosso computador. Isso aconteceu porque não carregamos a função em nossa área de trabalho, para cada projeto, precisamos carregar aqueles pacotes que vamos necessitar (normalmente nas primeiras linhas de comando do nosso código): | ||
- | <code> | + | <code rsplus> |
library(vegan) | library(vegan) | ||
Linha 622: | Linha 622: | ||
Para que um comando seja **executado** pelo R é necessário ser acompanhado de parênteses '()'. | Para que um comando seja **executado** pelo R é necessário ser acompanhado de parênteses '()'. | ||
Compare esse comando | Compare esse comando | ||
- | <code> | + | <code rsplus> |
> q() | > q() | ||
Save workspace image? [y/n/c]: c | Save workspace image? [y/n/c]: c | ||
Linha 628: | Linha 628: | ||
</code> | </code> | ||
com o comando | com o comando | ||
- | <code> | + | <code rsplus> |
> q | > q | ||
function (save = "default", status = 0, runLast = TRUE) | function (save = "default", status = 0, runLast = TRUE) |