Skip to content

Commit 6a177a6

Browse files
committed
Documentação introdutória de R
1 parent 8da1709 commit 6a177a6

File tree

4 files changed

+267
-4
lines changed

4 files changed

+267
-4
lines changed

.Rhistory

Whitespace-only changes.

_topic_map.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ Topics:
3434
Distros: main
3535

3636
---
37-
Name: Sergio
38-
Dir: sergiosd
37+
Name: Análise de Dados
38+
Dir: analisedados
3939
Distros: main
4040
Topics:
41-
- Name: To entendendo
41+
- Name: Guia Rápido de Introdução ao R
4242
File: index
4343
Distros: main

analisedados/index.adoc

Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
= Guia Rápido de Introdução ao R
2+
:toc: macro
3+
:toc-title:
4+
5+
toc::[]
6+
7+
Amanda Luna - amanda.costa@ccc.ufcg.edu.br / Lívia Cavalcanti - livia.juliao@ccc.ufcg.edu.br
8+
9+
== O que é R?
10+
É um software livre para gráficos e computação estatística. Usa command-line scripting, podendo armazenar uma série de passos de análise de dados complexos, e que possibilita reuso do seu trabalho de análise.
11+
12+
== Instalando R e RStudio
13+
Para instalar o R e o RStudio, basta seguir http://leg.ufpr.br/~fernandomayer/aulas/ce083-2016-2/R-instalacao.html[este] este guia da UFPR
14+
15+
== Tipos de dados
16+
R é uma linguagem fracamente tipada e nela existem 5 tipos de dados: integer, numeric,character,logical e factor.
17+
18+
* *Integer* é o tipo de dado em que se armazena números inteiros;
19+
20+
* *Numeric* é onde se armazena valores numéricos de precisão (o famoso float);
21+
22+
* *Character* é onde se armazena strings e caracteres;
23+
24+
* *Logical* são para representação de valores booleanos;
25+
26+
* *Factor* são usados para representar categorias.
27+
28+
Para guardar valores em uma variável no R, utilizamos *< -*, com a seta apontando para o nome da variável.
29+
----
30+
var1 <- "Guardians"
31+
var2 <- 3
32+
----
33+
34+
Para verificar a classe de uma determinada variável, é usada a função _class()_ e para realizar comentários no código é utilizada a cerquilha.
35+
----
36+
class(3) # Retornará numeric
37+
class("abc") # Retornará character
38+
----
39+
40+
Importante: variáveis com números inteiros não são iniciados com o tipo integer, e sim com o tipo numeric ! Para que a variável seja inicializada já com o tipo integer, deve-se fazer:
41+
42+
----
43+
inteiro <- 3L # Este L serve para mostrar para o R que este é um número do tipo inteiro
44+
----
45+
46+
E para conversão de dados, utilizam-se as funções _as.tipododado()_.
47+
----
48+
as.integer(3.0)
49+
as.character(4)
50+
as.integer("oi") # Não pode ser feito, retornará um erro.
51+
----
52+
53+
Curiosidade: ao tentar realizar a operação as.logical(3) a função retornará true, assim como com outros números, porém se for feita a operação as.logical(0), a função retornará false.
54+
55+
== Operações Básicas
56+
Estas são algumas das operações básicas que se tem no R:
57+
58+
* Soma: *+*
59+
60+
* Subtração: *-*
61+
62+
* Divisão: */*
63+
64+
* Potenciação: *^*
65+
66+
* Multiplicação: *
67+
68+
* Raiz Quadrada: _sqrt()_
69+
70+
* Desvio Padrão: _sd()_
71+
72+
* Passar um data frame para uma função: *%>%*
73+
74+
== Estruturas de Dados
75+
76+
* Vetores: vetores são uma sequência simples de elementos do mesmo tipo. Quando definimos uma variável, é criado um vetor de um elemento.
77+
----
78+
var1 <- 3
79+
is.vector(var1) # Retornará true
80+
----
81+
82+
Para criarmos vetores com mais de um elemento, colocaremos os valores desejados dentro de um _c()_
83+
84+
----
85+
var1 <- c(1,2,3,4)
86+
----
87+
88+
Obs. Caso você tente misturar os tipos, o R forçará que todos os elementos sejam do mesmo tipo
89+
----
90+
var <- c(1,2,3,4,"batata")
91+
# Se você for visualizar a variável, o R terá convertido tudo para character
92+
#[1] "1" "2” "3” "4" "batata"
93+
----
94+
95+
* Matrizes: correspondem às matrizes matemáticas, com linhas e colunas. Semelhante aos vetores, só podem ser de um tipo de dado.
96+
97+
----
98+
mat <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=TRUE)
99+
----
100+
101+
Com esta linha de código acima, é possível criar uma matriz de 3 linhas e duas colunas, organizadas por linha e contendo números de 1 a 6.
102+
103+
----
104+
var1 <- c(1,2,3)
105+
var2 <- c(4,5,6)
106+
mat <- rbind(var1,var2)
107+
----
108+
109+
Com esta outra linha também é possível criar uma matriz, só que diferente da implementação anterior, estamos combinando dois vetores por linhas.
110+
Obs. Não é possível combinar vetores de tamanhos diferentes e na primeira implementação, não é possível definir um números de linhas e colunas que não sejam múltiplos do tamanho do vetor passado no parâmetro.
111+
Para acessar elementos em uma matriz, deve-se utilizar colchetes,informando primeiro a linha e depois a coluna.
112+
113+
----
114+
m[1,2]
115+
----
116+
117+
* Listas: são um tipo especial de vetores, no qual pode-se colocar elementos de tipos diferentes, incluindo os próprios vetores.
118+
119+
----
120+
lista <- list(c(1,2,3,4),c(T,F),c("Guardians",">","Pet"))
121+
----
122+
123+
Pode-se acessar um pedaço da lista indicando o índice dele
124+
----
125+
lista[1] # Irá retornar o pedaço da lista contendo o primeiro vetor
126+
----
127+
128+
Para acessar o elemento em si, deve-se acessar utilizando colchetes duplos
129+
----
130+
lista[[1]] # Retorna o primeiro elemento da lista em si
131+
----
132+
133+
Para acessar um elemento dentro de um vetor contido na lista, deve-se usar colchetes duplos (para sinalizar qual o vetor desejado) seguido do índice do elemento procurado,também entre colchetes.
134+
----
135+
lista[[1]][2] # Retorna o segundo elemento do primeiro vetor da lista
136+
----
137+
138+
Por último, nas listas é possível referenciar os elementos por nomes ao invés dos índices.
139+
----
140+
lista <- list(coiso1 = c(1,2,3), coiso2 = c(T,F,T))
141+
lista["coiso1"] # Retorna pedaço da lista que contém o vetor coiso1
142+
----
143+
144+
Ou ainda referenciar utilizando o *$*
145+
----
146+
lista$coiso2 # Retornará o elemento referente ao vetor coiso2
147+
----
148+
149+
Porém, mesmo nomeando os itens, ainda é possível acessá-los pelos índices normalmente.
150+
151+
* Data Frames: é a estrutura do R utilizada para armazenar dados em forma de tabela, organizados por linha e colunas. _(Agora que vai ficar legal)_
152+
153+
Para criar um data frame, é necessário utilizar a função _data.frame_.
154+
----
155+
df <- data.frame(c(1,2,3),c(T,F,T))
156+
----
157+
158+
Percebeu que os nomes das colunas ficaram estranhos? Para dar nomes às colunas do data frame pode-se usar a função _names()_.
159+
----
160+
names(df) <- c("numeric","logical")
161+
----
162+
163+
O R possui nativo vários data frames, que possuem como maior finalidade aprendizado e realização de testes, entre eles o há o *mtcars*.
164+
----
165+
data(mtcars) # Carrega o data frame
166+
mtcars # Printa o df
167+
names(mtcars) # Printa os nomes das colunas
168+
str(mtcars) # Nos retorna a estrutura do df
169+
head(mtcars) # Retorna os primeiros elementos
170+
tail(mtcars) # Retorna os últimos elementos
171+
mtcars$mpg # Retorna apenas os valores da coluna mpg
172+
mean(mtcars$mpg) # Retorna a média dos valores desta coluna
173+
summary(mtcars) # Retorna a média,mediana,máximos,mínimos e quartis
174+
----
175+
176+
Para selecionar dados no data frame também é utilizado colchetes, informando a linha e a coluna referente ao que é procurado. Pode-se selecionar também utilizando os nomes.
177+
----
178+
mtcars[1,2]
179+
mtcars["Lotus Europa","gear"]
180+
mtcars["Mazda RX4",2]
181+
----
182+
183+
== Instalação de Pacotes
184+
O R, por ser open source, possui milhares de pacotes com diferentes funções. Para instalar um pacote, basta utilizar o comando _install.packages("nome do pacote")_.
185+
----
186+
install.packages("swirl")
187+
----
188+
189+
Para carregar um pacote, deve-se utilizar o comando _library(pacote)_
190+
----
191+
library(swirl)
192+
----
193+
194+
Importante: como R é uma linguagem de linha de comando, sempre que você for precisar de um pacote para sua implementação, deve utilizar o _library()_ com o pacote que você deseja, do contrário, não poderá acessar as funções da biblioteca. O mesmo acontece com tudo que já foi implementado no R script.
195+
Uma boa prática de programação é declarar todos os pacotes utilizados em cada arquivo .R logo nas primeiras linhas do código.
196+
197+
Sugestão: execute os comandos acima, depois digite _swirl()_ no console e veja a magia acontecer.
198+
199+
== Bibliotecas Importantes
200+
201+
Em análise de dados, as bibliotecas _dplyr_ e _ggplot2_ são indispensáveis. Para instalá-las, execute os seguintes comandos:
202+
----
203+
install.packages(dplyr)
204+
install.packages(ggplot2)
205+
----
206+
207+
O _dplyr_ é uma biblioteca de manipulação de dados, com ela você pode realizar várias operações de manipulação, tais como: filtrar dados, sumarizar, selecionar,agrupar, entre outras coisas, já o _ggplot2_ é para visualização de dados, com ele pode-se montar vários tipos de gráficos com facilidade.
208+
O _dplyr_ possui alguns comandos básicos, tais como:
209+
----
210+
select()
211+
filter()
212+
mutate()
213+
group_by()
214+
summarise()
215+
----
216+
217+
*I) Operador %>%*
218+
219+
Este operador encadeia as funções de modo que o programador não precise ficar chamando uma função dentro da outra como em outras linguagens, tal como _dados.getCarros()_.
220+
Neste caso, o operador cria um fluxo sequencial de operações, tal que a chamada anterior irá gerar um resultado que será utilizado na operação seguinte.
221+
----
222+
mtcars %>% select(c("mpg","cyl")) %>% filter(cyl > 4)
223+
----
224+
225+
Nesta linha, temos que o data frame *mtcars* será manipulado, e que nele serão feitas duas operações, uma seleção e uma filtragem. Na função *select* iremos selecionar apenas as colunas *mpg* e *cyl* e na função _filter_, filtramos os dados que possuam *cyl > 4*.
226+
227+
*II) Select*
228+
229+
A função _select_ é utilizada para selecionar colunas em um data frame, por exemplo, se no data frame *mtcars*, quisermos apenas as colunas *gear* e *carb*, faremos:
230+
----
231+
mtcars %>% select(c("gear","carb"))
232+
----
233+
234+
Caso o objetivo seja excluir uma coluna do data frame, por exemplo a coluna *gear*, basta fazer
235+
----
236+
mtcars %>% select(-gear)
237+
----
238+
239+
*III) Filter*
240+
241+
A função _filter_ é utilizada para filtrar as linhas que o programador deseja, por exemplo, caso o programador queira apenas os carros cujo *cyl* é maior do que 4, faríamos:
242+
----
243+
mtcars %>% filter(cyl > 4)
244+
----
245+
246+
*IV) Mutate*
247+
248+
O _mutate_ é uma função usada para criar novas colunas no data frame que você está manipulando, caso quiséssemos adicionar uma nova coluna que seja o resultado da divisão entre *mpg* e *cyl*, faríamos:
249+
----
250+
mtcars <- mtcars %>% mutate(coluna = mpg/cyl)
251+
----
252+
253+
*V) Group by e Summarise*
254+
255+
O _group_by_ separa seus dados nos grupos que você selecionar, o _summarise_ faz operações de agregação de linhas limitadas a esse grupo, por exemplo, se quiséssemos agrupar os dados por *mpg* e agregar a soma destes mesmos *mpg*, faríamos:
256+
----
257+
mtcars <- mtcars %>% group_by(mpg) %>% summarise(somas = sum(mpg))
258+
----
259+
260+
Para aprender a utilizar o _ggplot2_ , eu recomendo utilizar o cheat sheet do RStudio, ele possui exemplos dos mais diversos gráficos.
261+
262+
O cheat sheet pode ser encontrado https://www.rstudio.com/resources/cheatsheets/[aqui], porém o site do RStudio possui vários outros que facilitam o aprendizado,incluindo _dplyr_.
263+
264+
Também tem alguns exemplos simples no https://github.com/avdLuna/R-Examples[github].

sergiosd/index.adoc

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)