1 - Diretório de trabalho

Para acessar o caminho do seu diretório:

getwd( )
## [1] "C:/Users/Cacaio/Documents/R"

2 -Vamos começar o uso:

x<- c(3,4,5)
sum(x) #somar
## [1] 12
mean(x)#média de x
## [1] 4

3 - Dados Faltantes

capacity <- c(14,13,14,13,16,NA,NA,20,NA)
mean (capacity)
## [1] NA
mean (capacity, na.rm=TRUE) 
## [1] 15

O rm em na.rm significa “remover” e TRUE significa “faça isso”.

4 - Vetores

É a estrutura fundamental de R. Os elementos de cada vetor são os componentes. Para criar um vetor, use a função c ( ).

x<- c(3,4,5)
x
## [1] 3 4 5
Patetas<- c("Moe", "Larry", "Curly")
Patetas
## [1] "Moe"   "Larry" "Curly"
z<- c(T,F,T,F,T,T)
z
## [1]  TRUE FALSE  TRUE FALSE  TRUE  TRUE

5 - Vetores numéricos

Além de c(), R fornece seq() e rep() como atalho pra criar vetores numéricos.

y<- seq(10,30)#Sequência de 10 a 30
y
##  [1] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
w<- seq(10,30,2) #Pra aumentar de 2 em 2, use seq da seguinte forma
w
##  [1] 10 12 14 16 18 20 22 24 26 28 30

6 - Criar um vetor de valores repetidos. Use rep ():

trifeta<- c(6,8,2)
repetir_trifeta <- rep(trifeta,4)
repetir_trifeta
##  [1] 6 8 2 6 8 2 6 8 2 6 8 2

7 - Matrizes

As matrizes são bastante úteis como tabelas para manter os dados.

#transformar o vetor em matriz bidimensional
num_matrix <- seq(5,100,5)
dim(num_matrix) <-c(5,4) #função dim - transforma em matriz bidimensional
num_matrix
##      [,1] [,2] [,3] [,4]
## [1,]    5   30   55   80
## [2,]   10   35   60   85
## [3,]   15   40   65   90
## [4,]   20   45   70   95
## [5,]   25   50   75  100
#Para transpor uma matriz, use função t
t(num_matrix) 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    5   10   15   20   25
## [2,]   30   35   40   45   50
## [3,]   55   60   65   70   75
## [4,]   80   85   90   95  100
#Outra maneira da função matrix() de criar matrizes
num_matrix<- matrix(seq(5,100,5),nrow = 5)
num_matrix 
##      [,1] [,2] [,3] [,4]
## [1,]    5   30   55   80
## [2,]   10   35   60   85
## [3,]   15   40   65   90
## [4,]   20   45   70   95
## [5,]   25   50   75  100
#Se adicionarmos o arumento `byrow=T`, R preencherá a matriz por linhas
num_matrix <-matrix(seq(5,100,5),nrow=5,byrow=T)
num_matrix
##      [,1] [,2] [,3] [,4]
## [1,]    5   10   15   20
## [2,]   25   30   35   40
## [3,]   45   50   55   60
## [4,]   65   70   75   80
## [5,]   85   90   95  100
#Para fazer referência a um componente da matriz, Digitar o nome da matriz e, entre colchetes, o número da linha, a vírgula e o número da coluna
num_matrix[5,4]
## [1] 100

8 - Fatores - Termo do R para uma variável nominal - variável categórica.

eye_color <- c(2,2,4,1,5,5,5,6,1,3,6,3,1,4)

#transformar `cor dos olhos` em um fator
feye_color <- factor(eye_color)

#atribuir níveis ao fator
levels(feye_color) <- c("amber","blue","brown","gray","green","hazel")

#Agora, se examinarmos os dados das cores dos olhos em termos de níveis, teremos:


feye_color
##  [1] blue  blue  gray  amber green green green hazel amber brown hazel brown
## [13] amber gray 
## Levels: amber blue brown gray green hazel

9 - Listas - Lista é uma coleção de objetos que não necessariamente são do mesmo tipo.

Vamos montar um vetor para empatia, feita por meio de um teste de personalidade. Escala vai de 0 a 100, sendo 100 o mais empático.

empathy_score <- c(15,21,45,32,62,76,55,93,81,21,67,54,46,47)

#vamos combinar os vetores: eye color, faye color e empathy score, usando a função `list`, numa coleção com nome de eyes_and_empathy.

eyes_and_empathy <- list(eyes_code=eye_color,eyes=feye_color,empathy=empathy_score)

#Olhe que cada argumento foi nomeado, fazendo o R usar esses nomes como nomes da lista de componentes. Segue a lista:

eyes_and_empathy
## $eyes_code
##  [1] 2 2 4 1 5 5 5 6 1 3 6 3 1 4
## 
## $eyes
##  [1] blue  blue  gray  amber green green green hazel amber brown hazel brown
## [13] amber gray 
## Levels: amber blue brown gray green hazel
## 
## $empathy
##  [1] 15 21 45 32 62 76 55 93 81 21 67 54 46 47
#O R usa o `$` para indicar os componentes

# para se referir a um componente da lista, digite o nome da lista `+` cifrão `$` `+` nome do componente.

eyes_and_empathy$empathy
##  [1] 15 21 45 32 62 76 55 93 81 21 67 54 46 47
# Para uma posição específica

eyes_and_empathy$empathy[4]
## [1] 32

10 - Listas e estatísticas

As listas possuem várias funções estatísticas. Uma delas é o t test ( )

t.test(eyes_and_empathy$empathy, mu=30)
## 
##  One Sample t-test
## 
## data:  eyes_and_empathy$empathy
## t = 3.3444, df = 13, p-value = 0.005278
## alternative hypothesis: true mean is not equal to 30
## 95 percent confidence interval:
##  37.45984 64.68302
## sample estimates:
## mean of x 
##  51.07143

11 - Data Frames

knitr::kable(mtcars[1:5,], caption = "A Knitr table.", floating.environment="sidewaystable")
A Knitr table.
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2

12 - Data frame

grupo <- data.frame(eye_color,feye_color,empathy_score)

grupo
edit(grupo) #modificar um dataframe
#extraindo dados do dataframe

e.blue <- grupo$empathy_score[grupo$feye_color=="blue"]
e.green <- grupo$empathy_score[grupo$feye_color=="green"]
e.hazel <- grupo$empathy_score[grupo$feye_color=="hazel"]

# sinal de igual duplo (==) é um operador lógico. "se grupo$feye_color for igual a blue"

# Vetor das Médias 

e.average <- c(mean(e.blue),mean(e.green),mean(e.hazel))

# Depois com 'lenght()' cria um vetor do numero de pontuações em cada grupo de cor de olho:

e.amounts <- c(length(e.blue), length(e.green), length(e.hazel))

# Agora um vetor de cores

colors <- c("blue","green","hazel")

# Por fim, criar um datafrme de 3 colunas: 1-Cor, 2- média de empatia e 3- número de pontuações

e.average.frame <- data.frame(color=colors, average=e.average, n=e.amounts)

e.average.frame 

Referências

Schmuller, Joseph. Análise Estatística com R - Para leigos - Tradução da 2a edição. Alta Books Editora. 2019.

Oliveira, Paulo; Guerra, Saulo; McDonnell, Robert. Ciência de Dados com R. Introdução.Editora IBPAD. Brasília. 2018. Disponível em: {https://cdr.ibpad.com.br/cdr-intro.pdf}