Para acessar o caminho do seu diretório:
getwd( )
## [1] "C:/Users/Cacaio/Documents/R"
x<- c(3,4,5)
sum(x) #somar
## [1] 12
mean(x)#média de x
## [1] 4
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”.
É 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
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
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
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
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
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
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
knitr::kable(mtcars[1:5,], caption = "A Knitr table.", floating.environment="sidewaystable")
| 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 |
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}