"Início do R Módulo"
[1] "Início do R Módulo"
Disciplina de Ecologia Numérica1
Prof. Elvio S. F. Medeiros
Laboratório de Ecologia
Universidade Estadual da Paraíba
Campus V, João Pessoa, PB
12 de setembro de 2023
No R, uma linguagem de programação amplamente utilizada para análise de dados e estatísticas, os tipos e estruturas de dados desempenham um papel fundamental na manipulação e organização das informações. Você vai conhecer esses tipos de estruturas de dados a seguir, mas antes se familiarize com como o R funciona.
Para começar a usar o R e analisar os dados do Projeto PPBio, abra o RStudio, verifique sua interface (Figura 1) e siga as instruções a seguir.
No contexto da linguagem de programação R, mensagens de erro (errors) e mensagens de aviso (warnings) que aparecem em vermelho no painel de console. Elas são formas de feedback do sistema que indicam problemas ou situações potencialmente problemáticas durante a execução do código. Aqui está uma breve explicação de cada um:
É importante prestar atenção a mensagens de erro e avisos, pois eles fornecem insights sobre problemas em seu código ou potenciais fontes de comportamento inesperado. Resolver erros é fundamental para que o código funcione conforme o esperado. Embora os avisos não interrompam a execução, investigá-los pode ajudar a evitar problemas futuros ou melhorar a qualidade do código.
Agora você pode começar a escrever seu código no console. Digite “Início do R Módulo” no console clique em Run
(no canto superior direito do painel de edição de código) ou Ctrl+Enter
e veja o que acontece:
O R mostra o que você escreveu, e apresenta este [1]
do lado. Isso significa que seu resultado foi apresentado na primeira linha. Como você pode, o R imprime de volta o resultado de comandos que você dá. Você agora pode tentar as operações basicas.
O R usa os seguintes símbolos para as operações básicas:
+
Adição
–
Subtração
/
Divisão
*
Multiplicação
^
Potência
sqrt
Raiz quadrada
Teste agora outras possibilidades com as operações básicas.
O R oferece uma variedade de tipos e estruturas de dados que permitem aos cientistas de dados e analistas manipular e organizar informações de forma eficiente. A escolha da estrutura de dados correta depende das necessidades específicas de análise e do tipo de dados que você está lidando.
c()
.matrix()
.list()
.data.frame()
ou lidos de arquivos externos.factor()
.array()
.hash
.Instalando os pacotes necessários para esse módulo
Os códigos acima, são usados para instalar e carregar os pacotes necessários para este módulo. Esses códigos são comandos para instalar pacotes no R. Um pacote é uma coleção de funções, dados e documentação que ampliam as capacidades do R (R CRAN (R Core Team 2017) e RStudio) (Team 2022). No exemplo acima, o pacote openxlsx
permite ler e escrever arquivos Excel no R. Para instalar um pacote no R, você precisa usar a função install.packages()
.
Depois de instalar um pacote, você precisa carregá-lo na sua sessão R com a função library()
. Por exemplo, para carregar o pacote openxlsx
, você precisa executar a função library(openxlsx)
. Isso irá permitir que você use as funções do pacote na sua sessão R. Você precisa carregar um pacote toda vez que iniciar uma nova sessão R e quiser usar um pacote instalado.
Agora vamos definir o diretório de trabalho. Esse código é usado para obter e definir o diretório de trabalho atual no R. O comando getwd()
retorna o caminho do diretório onde o R está lendo e salvando arquivos. O comando setwd()
muda esse diretório de trabalho para o caminho especificado entre aspas. No seu caso, você deve ajustar o caminho para o seu próprio diretório de trabalho. Lembre de usar a barra “/” entre os diretórios. E não a contra-barra “\”.
Usaremos uma matriz multivariada (sítios x espécies, matriz comunitária) do Projeto PPBio chamada ppbio**.xlsx que está no diretório “C:/Meu/Diretório/De/Trabalho/Planilha.xlsx”
Note que o sómbolo #
em programação R significa que o texto que vem depois dele é um comentário e não será executado pelo programa. Isso é útil para explicar o código ou deixar anotações.
Ajuste a segunda linha do código abaixo para refletir “C:/Seu/Diretório/De/Trabalho/Planilha.xlsx”.
Definindo o diretório de trabalho e installando os pacotes necessários:
O símbolo ?
é usado para acessar a documentação de uma função ou um pacote no R. Como mostrado acima você pode saber mais sobre a função getwd()
, usando o comando ?getwd
. Isso vai abrir uma página no menu de ajuda com a descrição, os argumentos, os valores de retorno e os exemplos da função getwd()
. Você também pode usar o símbolo ?
para obter informações sobre um pacote inteiro. Por exemplo, se você quiser saber mais sobre o pacote openxlsx
, você pode digitar ?openxlsx
. Isso vai abrir uma página com a visão geral, a instalação, os recursos e as referências do pacote solicitado.
Note que o sómbolo #
em programação R significa que o texto que vem depois dele é um comentário e não será executado pelo programa. Isso é útil para explicar o código ou deixar anotações. Ajuste a segunda linha do código abaixo para refletir “C:/Seu/Diretório/De/Trabalho/Planilha.xlsx”.
Atente para os resultados dos comandos a seguir.
View(ppbio)
print(ppbio)
#ppbio
str(ppbio)
?str
mode(ppbio)
?mode
class(ppbio)
?class
ppbio_ma <- as.matrix(ppbio) #lê ppbio como uma matriz
str(ppbio_ma)
ap-davis as-bimac as-fasci ch-bimac ci-ocela ci-orien co-macro co-heter
S-A-ZA1 0 1 0 0 0 0 0 0
S-R-CC1 0 99 0 0 0 0 0 0
S-R-CT1 0 194 55 0 0 5 0 1
S-R-CP1 0 19 0 0 0 0 0 0
S-A-TA1 0 23 1 13 0 0 0 0
S-R-CT2 0 142 3 3 0 69 0 0
S-R-CP2 0 5 1 0 40 9 0 0
S-A-TA2 0 46 0 178 0 0 0 0
S-R-CT3 0 206 64 0 0 25 0 0
S-R-CP3 0 16 0 0 13 24 0 0
S-A-TA3 0 234 7 238 0 0 2 0
S-R-CT4 0 0 1 0 0 5 0 0
S-R-CP4 0 0 0 0 11 6 0 0
S-A-TA4 0 394 0 273 0 0 0 0
B-A-MU1 0 12 0 0 0 0 0 0
B-R-ET1 0 3 0 0 0 0 0 0
B-A-GU1 0 2 2 0 0 0 0 0
B-R-PC2 5 44 0 0 2 0 0 0
B-A-MU2 0 99 0 0 0 0 0 0
B-A-GU2 0 0 0 0 0 0 0 0
B-R-PC3 22 75 7 0 4 0 0 0
B-A-MU3 0 511 0 0 0 0 0 0
B-A-GU3 0 6 0 0 0 0 0 0
B-R-PC4 0 7 17 0 0 0 0 0
B-A-MU4 0 235 0 0 0 0 0 0
B-A-GU4 0 13 0 0 0 0 0 0
cr-menez cu-lepid cy-gilbe ge-brasi he-margi ho-malab hy-pusar le-melan
S-A-ZA1 0 0 0 0 0 0 0 0
S-R-CC1 0 0 0 0 0 0 0 0
S-R-CT1 14 0 0 3 0 1 9 0
S-R-CP1 0 0 0 0 0 5 2 0
S-A-TA1 0 0 0 0 0 0 0 0
S-R-CT2 4 0 0 0 1 17 43 0
S-R-CP2 0 0 0 0 0 10 2 0
S-A-TA2 0 0 0 0 0 2 0 0
S-R-CT3 8 0 0 1 0 31 11 0
S-R-CP3 0 0 0 0 0 4 0 0
S-A-TA3 0 0 0 0 0 20 0 0
S-R-CT4 1 0 50 3 1 4 3 0
S-R-CP4 0 0 0 0 0 2 0 0
S-A-TA4 1 0 0 1 0 9 0 0
B-A-MU1 0 0 0 190 0 0 0 0
B-R-ET1 0 0 0 0 0 0 0 0
B-A-GU1 0 0 0 7 0 0 0 0
B-R-PC2 0 0 0 8 0 0 0 2
B-A-MU2 0 0 0 67 0 1 0 0
B-A-GU2 0 0 0 23 0 0 0 0
B-R-PC3 0 21 0 16 0 2 1 0
B-A-MU3 0 0 0 145 0 0 0 0
B-A-GU3 0 0 0 32 0 0 0 0
B-R-PC4 0 0 81 5 0 1 0 0
B-A-MU4 0 0 0 509 0 0 0 0
B-A-GU4 0 0 0 10 0 0 0 0
le-piau le-taeni mo-costa mo-lepid or-nilot pa-manag pimel-sp po-retic
S-A-ZA1 0 0 0 0 0 0 0 0
S-R-CC1 0 0 0 1 2 0 0 0
S-R-CT1 3 0 0 39 36 0 6 0
S-R-CP1 0 0 0 0 0 0 0 0
S-A-TA1 0 0 0 0 0 0 0 0
S-R-CT2 1 0 0 1 77 0 0 20
S-R-CP2 3 0 0 0 0 0 0 0
S-A-TA2 0 0 0 0 0 0 0 0
S-R-CT3 2 0 0 0 138 0 0 5
S-R-CP3 1 0 0 0 0 0 0 0
S-A-TA3 0 0 0 0 0 0 0 0
S-R-CT4 0 0 0 0 73 0 0 0
S-R-CP4 2 0 0 0 0 0 0 0
S-A-TA4 2 0 0 0 1 0 0 0
B-A-MU1 0 0 0 0 6 0 0 0
B-R-ET1 0 0 0 0 8 1 0 34
B-A-GU1 0 0 0 0 3 11 0 0
B-R-PC2 0 1 0 0 5 0 0 0
B-A-MU2 0 0 0 0 1 0 0 10
B-A-GU2 0 0 0 0 36 102 0 0
B-R-PC3 0 0 1 0 65 0 0 0
B-A-MU3 0 0 0 0 11 0 0 46
B-A-GU3 0 0 0 0 247 250 0 0
B-R-PC4 1 0 0 0 9 0 0 0
B-A-MU4 0 0 0 0 1 0 0 266
B-A-GU4 0 0 0 0 129 190 0 0
po-vivip pr-brevi ps-rhomb ps-genise se-heter se-piaba se-spilo
S-A-ZA1 0 9 0 0 0 0 0
S-R-CC1 0 0 0 0 0 0 0
S-R-CT1 47 5 0 0 40 68 0
S-R-CP1 15 0 0 0 14 0 0
S-A-TA1 0 1 0 0 4 0 0
S-R-CT2 221 15 0 0 60 0 0
S-R-CP2 32 5 0 0 0 0 0
S-A-TA2 0 2 0 0 0 0 0
S-R-CT3 326 164 1 1 38 0 1
S-R-CP3 10 0 0 0 0 0 0
S-A-TA3 0 0 0 0 0 0 0
S-R-CT4 28 59 0 0 3 0 0
S-R-CP4 80 0 0 0 3 0 0
S-A-TA4 0 3 0 0 0 0 0
B-A-MU1 0 0 0 0 0 0 0
B-R-ET1 0 0 0 0 0 0 0
B-A-GU1 0 0 0 0 0 0 0
B-R-PC2 0 9 0 0 10 0 0
B-A-MU2 8 0 0 0 0 0 0
B-A-GU2 0 0 0 0 0 0 0
B-R-PC3 0 6 0 0 93 0 0
B-A-MU3 48 1 0 0 0 0 0
B-A-GU3 0 0 0 0 0 0 0
B-R-PC4 0 0 0 0 31 0 0
B-A-MU4 163 0 0 0 0 0 0
B-A-GU4 0 0 0 0 0 0 0
st-noton sy-marmo te-chalc tr-signa
S-A-ZA1 0 0 0 0
S-R-CC1 0 0 0 0
S-R-CT1 1 0 0 18
S-R-CP1 0 0 0 0
S-A-TA1 0 0 0 0
S-R-CT2 25 0 0 15
S-R-CP2 0 1 0 0
S-A-TA2 0 0 0 0
S-R-CT3 115 0 0 7
S-R-CP3 0 0 0 0
S-A-TA3 0 0 0 0
S-R-CT4 64 0 0 141
S-R-CP4 0 0 0 0
S-A-TA4 0 0 0 0
B-A-MU1 0 0 0 0
B-R-ET1 0 0 0 0
B-A-GU1 0 0 0 0
B-R-PC2 0 0 76 23
B-A-MU2 0 0 0 0
B-A-GU2 0 0 0 0
B-R-PC3 0 0 58 0
B-A-MU3 0 0 0 0
B-A-GU3 0 0 0 0
B-R-PC4 0 0 0 4
B-A-MU4 0 0 0 0
B-A-GU4 0 0 0 0
'data.frame': 26 obs. of 35 variables:
$ ap-davis : num 0 0 0 0 0 0 0 0 0 0 ...
$ as-bimac : num 1 99 194 19 23 142 5 46 206 16 ...
$ as-fasci : num 0 0 55 0 1 3 1 0 64 0 ...
$ ch-bimac : num 0 0 0 0 13 3 0 178 0 0 ...
$ ci-ocela : num 0 0 0 0 0 0 40 0 0 13 ...
$ ci-orien : num 0 0 5 0 0 69 9 0 25 24 ...
$ co-macro : num 0 0 0 0 0 0 0 0 0 0 ...
$ co-heter : num 0 0 1 0 0 0 0 0 0 0 ...
$ cr-menez : num 0 0 14 0 0 4 0 0 8 0 ...
$ cu-lepid : num 0 0 0 0 0 0 0 0 0 0 ...
$ cy-gilbe : num 0 0 0 0 0 0 0 0 0 0 ...
$ ge-brasi : num 0 0 3 0 0 0 0 0 1 0 ...
$ he-margi : num 0 0 0 0 0 1 0 0 0 0 ...
$ ho-malab : num 0 0 1 5 0 17 10 2 31 4 ...
$ hy-pusar : num 0 0 9 2 0 43 2 0 11 0 ...
$ le-melan : num 0 0 0 0 0 0 0 0 0 0 ...
$ le-piau : num 0 0 3 0 0 1 3 0 2 1 ...
$ le-taeni : num 0 0 0 0 0 0 0 0 0 0 ...
$ mo-costa : num 0 0 0 0 0 0 0 0 0 0 ...
$ mo-lepid : num 0 1 39 0 0 1 0 0 0 0 ...
$ or-nilot : num 0 2 36 0 0 77 0 0 138 0 ...
$ pa-manag : num 0 0 0 0 0 0 0 0 0 0 ...
$ pimel-sp : num 0 0 6 0 0 0 0 0 0 0 ...
$ po-retic : num 0 0 0 0 0 20 0 0 5 0 ...
$ po-vivip : num 0 0 47 15 0 221 32 0 326 10 ...
$ pr-brevi : num 9 0 5 0 1 15 5 2 164 0 ...
$ ps-rhomb : num 0 0 0 0 0 0 0 0 1 0 ...
$ ps-genise: num 0 0 0 0 0 0 0 0 1 0 ...
$ se-heter : num 0 0 40 14 4 60 0 0 38 0 ...
$ se-piaba : num 0 0 68 0 0 0 0 0 0 0 ...
$ se-spilo : num 0 0 0 0 0 0 0 0 1 0 ...
$ st-noton : num 0 0 1 0 0 25 0 0 115 0 ...
$ sy-marmo : num 0 0 0 0 0 0 1 0 0 0 ...
$ te-chalc : num 0 0 0 0 0 0 0 0 0 0 ...
$ tr-signa : num 0 0 18 0 0 15 0 0 7 0 ...
[1] "list"
[1] "data.frame"
num [1:26, 1:35] 0 0 0 0 0 0 0 0 0 0 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:26] "S-A-ZA1" "S-R-CC1" "S-R-CT1" "S-R-CP1" ...
..$ : chr [1:35] "ap-davis" "as-bimac" "as-fasci" "ch-bimac" ...
[https://youtu.be/U6ksXvvY6Q0]
[https://youtu.be/a7EJE_2mtGk]
Curso de Ciências Biológicas do Campus V da UEPB↩︎