introdução a revisão
Neste encontro vamos carregar a base de dados , dar uma olhada na base de dados, corrigir os problemas e demonstrar resultados.
importação
para importar vamos usar a função read_excel
library(readxl)## Warning: package 'readxl' was built under R version 4.2.3
QE <- read_excel("C:/Users/14086606798/Desktop/Base_de_dados-master/Questionario_Estresse.xls")
head(QE)## # A tibble: 6 × 10
## Aluno Turma Mora_pais RJ Namorado_a Trabalha Desempenho Estresse Créditos
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 1 2 2 2 2 8.89 23 27
## 2 2 1 1 1 2 2 8.8 24 28
## 3 3 1 2 2 2 2 8 25 25
## 4 4 1 2 2 1 1 8.8 38 21
## 5 5 1 2 2 2 1 8.9 41 18
## 6 6 1 2 2 1 1 8.1 25 29
## # ℹ 1 more variable: Horas_estudo <dbl>
library(readxl)
BasesEstados <- read_excel("C:/Users/14086606798/Desktop/Base_de_dados-master/BasesEstados.xlsx")
View(BasesEstados)olhar a base de dados
aqui vamos usar as funçoes summery, view e str para olhar a base de dados
summary(QE)## Aluno Turma Mora_pais RJ Namorado_a
## Min. : 1.0 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:24.5 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :48.0 Median :2.000 Median :2.000 Median :2.000 Median :2.000
## Mean :48.0 Mean :2.074 Mean :1.537 Mean :1.653 Mean :1.505
## 3rd Qu.:71.5 3rd Qu.:3.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :95.0 Max. :3.000 Max. :2.000 Max. :2.000 Max. :2.000
##
## Trabalha Desempenho Estresse Créditos
## Min. :1.000 Min. :5.820 Min. :12.00 Min. :15.00
## 1st Qu.:1.000 1st Qu.:8.500 1st Qu.:22.50 1st Qu.:23.00
## Median :2.000 Median :8.700 Median :27.00 Median :24.00
## Mean :1.621 Mean :8.594 Mean :27.82 Mean :24.95
## 3rd Qu.:2.000 3rd Qu.:9.050 3rd Qu.:33.00 3rd Qu.:27.00
## Max. :2.000 Max. :9.700 Max. :44.00 Max. :49.00
## NA's :1
## Horas_estudo
## Min. :19.00
## 1st Qu.:25.00
## Median :30.00
## Mean :30.73
## 3rd Qu.:35.00
## Max. :60.00
##
str(QE)## tibble [95 × 10] (S3: tbl_df/tbl/data.frame)
## $ Aluno : num [1:95] 1 2 3 4 5 6 7 8 9 10 ...
## $ Turma : num [1:95] 1 1 1 1 1 1 1 1 1 1 ...
## $ Mora_pais : num [1:95] 2 1 2 2 2 2 2 1 1 1 ...
## $ RJ : num [1:95] 2 1 2 2 2 2 2 1 1 1 ...
## $ Namorado_a : num [1:95] 2 2 2 1 2 1 2 1 2 2 ...
## $ Trabalha : num [1:95] 2 2 2 1 1 1 2 1 1 1 ...
## $ Desempenho : num [1:95] 8.89 8.8 8 8.8 8.9 8.1 9.2 8.5 8.7 8.3 ...
## $ Estresse : num [1:95] 23 24 25 38 41 25 41 20 26 36 ...
## $ Créditos : num [1:95] 27 28 25 21 18 29 26 24 20 49 ...
## $ Horas_estudo: num [1:95] 27 28 25 30 20 32 25 25 25 59 ...
transformção da base de dados
tudo que tiver 1 e 2 vai virar “sim ou”não”
a turma 1,2 e 3 devem virar “A” , “B’ e”C”
#limpeza de dados
QE$Trabalha = ifelse(QE$Trabalha==1, "sim", "nao")
QE$Mora_pais = ifelse(QE$Mora_pais==1, "sim", "nao")
QE$RJ = ifelse(QE$RJ==1, "sim", "nao")
QE$Namorado_a = ifelse(QE$Namorado_a==1,"sim", "nao")
QE$Turma = ifelse(QE$Turma==1,"turma A",
ifelse(QE$Turma==2, "turma B", "Turma C"))pergunta - Será que o problema foi resolvido
summary(QE)## Aluno Turma Mora_pais RJ
## Min. : 1.0 Length:95 Length:95 Length:95
## 1st Qu.:24.5 Class :character Class :character Class :character
## Median :48.0 Mode :character Mode :character Mode :character
## Mean :48.0
## 3rd Qu.:71.5
## Max. :95.0
##
## Namorado_a Trabalha Desempenho Estresse
## Length:95 Length:95 Min. :5.820 Min. :12.00
## Class :character Class :character 1st Qu.:8.500 1st Qu.:22.50
## Mode :character Mode :character Median :8.700 Median :27.00
## Mean :8.594 Mean :27.82
## 3rd Qu.:9.050 3rd Qu.:33.00
## Max. :9.700 Max. :44.00
##
## Créditos Horas_estudo
## Min. :15.00 Min. :19.00
## 1st Qu.:23.00 1st Qu.:25.00
## Median :24.00 Median :30.00
## Mean :24.95 Mean :30.73
## 3rd Qu.:27.00 3rd Qu.:35.00
## Max. :49.00 Max. :60.00
## NA's :1
head(QE)## # A tibble: 6 × 10
## Aluno Turma Mora_pais RJ Namorado_a Trabalha Desempenho Estresse Créditos
## <dbl> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
## 1 1 turma A nao nao nao nao 8.89 23 27
## 2 2 turma A sim sim nao nao 8.8 24 28
## 3 3 turma A nao nao nao nao 8 25 25
## 4 4 turma A nao nao sim sim 8.8 38 21
## 5 5 turma A nao nao nao sim 8.9 41 18
## 6 6 turma A nao nao sim sim 8.1 25 29
## # ℹ 1 more variable: Horas_estudo <dbl>
str(QE)## tibble [95 × 10] (S3: tbl_df/tbl/data.frame)
## $ Aluno : num [1:95] 1 2 3 4 5 6 7 8 9 10 ...
## $ Turma : chr [1:95] "turma A" "turma A" "turma A" "turma A" ...
## $ Mora_pais : chr [1:95] "nao" "sim" "nao" "nao" ...
## $ RJ : chr [1:95] "nao" "sim" "nao" "nao" ...
## $ Namorado_a : chr [1:95] "nao" "nao" "nao" "sim" ...
## $ Trabalha : chr [1:95] "nao" "nao" "nao" "sim" ...
## $ Desempenho : num [1:95] 8.89 8.8 8 8.8 8.9 8.1 9.2 8.5 8.7 8.3 ...
## $ Estresse : num [1:95] 23 24 25 38 41 25 41 20 26 36 ...
## $ Créditos : num [1:95] 27 28 25 21 18 29 26 24 20 49 ...
## $ Horas_estudo: num [1:95] 27 28 25 30 20 32 25 25 25 59 ...
questões
quem trabalha tem um desempenho pior? quem namora tem um desmpenho pior? quem mora com os pais tem um desempenho melhor?
A turma b possui um melhor dempenho melhor que as outras turmas?
desenho de pesquisa
variavel explicada
desempenho do estudante
variavel explicativas
trabalha, namora, mora com os pais e turma
analise de dados
média por grupos. vamos fazer o desempenho medio de quem trabalha e de quem não trabalha.
library(dplyr) # para criar estatisticas
library(flextable) # para criar as tabelas no rmarkdowmn
#janitor::tabyl(Trabalha, Desempenho) %>%
# adorn_percentages("row") %>%
# adorn_pct_formatting(digits = 2) %>%
# summarise(média = mean(Desempenho),
# desvio_padrao = sd(Desempenho)) %<%
# adorn_ns %>% flextable() %>% theme_zebra()
QE %>% select(Trabalha, Desempenho) %>%
group_by(Trabalha) %>%
summarise(media = mean(Desempenho),
desvio_padrao = sd(Desempenho)) %>%
flextable() %>% theme_tron()Trabalha | media | desvio_padrao |
|---|---|---|
nao | 8.626441 | 0.698167 |
sim | 8.540278 | 0.895511 |
quem trabalha tem nota 8.5 quem trabalha tem nota 8.6
as notas não interferem na nota do estudante. a diferença é de 0.1.
- recomendamos permitir o estudante a trabalhar, pois o trabalho não atrapalha o desempenho,
- O namoro não afeta o desenmpenho.
importar a base de dados de estados
#QE$Trabalha = ifelse(QE$Trabalha==1, "sim", "nao")
#QE$Mora_pais = ifelse(QE$Mora_pais==1, "sim", "nao")
#QE$RJ = ifelse(QE$RJ==1, "sim", "nao")
#QE$Namorado_a = ifelse(QE$Namorado_a==1,"sim", "nao")
#QE$Turma = ifelse(QE$Turma==1,"turma A",
# ifelse(QE$Turma==2, "turma B", "Turma C"))
library(dplyr)
library(flextable)
QE %>% group_by(Trabalha) %>% summarise(media=mean(Horas_estudo),
desvio_padrao=sd(Horas_estudo))## # A tibble: 2 × 3
## Trabalha media desvio_padrao
## <chr> <dbl> <dbl>
## 1 nao 31.6 6.93
## 2 sim 29.4 7.72
summary(QE$Horas_estudo)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 19.00 25.00 30.00 30.73 35.00 60.00
#boxplot é uma analise grafica
boxplot(QE$Horas_estudo ~ QE$Trabalha,
col = c ("red","blue"),
main = "grafico 1 - boxplot das horas de estudo por trabalho") #fazendo um box plot e o til representa por cor boxplot(QE$Desempenho ~ QE$Trabalha,
col = c ("tan","salmon"),
main = "grafico 1 - boxplot por desempenho por trabalho") #fazendo um box plot e o til representa por cor boxplot(QE$Desempenho ~ QE$Turma,
col = c ("tan","salmon", "purple"),
main = "grafico 1 - boxplot por desempenho de turma") #fazendo um box plot e o til representa por cor hipotese não foi verificada
duvida – qual turma estuda mais qual turma estuda menos?
dados especiais
library(geobr)## Warning: package 'geobr' was built under R version 4.2.3
## Loading required namespace: sf
desenho_estados = read_state()## Using year 2010
##
|
| | 0%
|
|=== | 4%
|
|===== | 7%
|
|======== | 11%
|
|========== | 15%
|
|============= | 19%
|
|================ | 22%
|
|================== | 26%
|
|===================== | 30%
|
|======================= | 33%
|
|========================== | 37%
|
|============================= | 41%
|
|=============================== | 44%
|
|================================== | 48%
|
|==================================== | 52%
|
|======================================= | 56%
|
|========================================= | 59%
|
|============================================ | 63%
|
|=============================================== | 67%
|
|================================================= | 70%
|
|==================================================== | 74%
|
|====================================================== | 78%
|
|========================================================= | 81%
|
|============================================================ | 85%
|
|============================================================== | 89%
|
|================================================================= | 93%
|
|=================================================================== | 96%
|
|======================================================================| 100%
class(BasesEstados)## [1] "tbl_df" "tbl" "data.frame"
class(desenho_estados)## [1] "sf" "data.frame"
plot(desenho_estados)class(desenho_estados$code_state)## [1] "numeric"
class(BasesEstados$Codigo)## [1] "character"
BasesEstados$Codigo = as.numeric(BasesEstados$Codigo)
library(dplyr)
BasesEstados = BasesEstados %>% rename(code_state=Codigo) #troca o nome da coluna
mapa_idh_gini = desenho_estados %>% left_join(BasesEstados)## Joining with `by = join_by(code_state)`
#vizualize
library(ggplot2)## Warning: package 'ggplot2' was built under R version 4.2.3
library(RColorBrewer)
mapa1= ggplot() +
geom_sf(data=mapa_idh_gini, aes(fill=IDH))
scale_fill_distiller(palette = "Reds", direction = 1, name="indice de Gini",
limits = c(0.48,0.66))## <ScaleContinuous>
## Range:
## Limits: 0.48 -- 0.66
summary(BasesEstados$Mortalidade_infantil)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.54 14.15 18.02 18.18 21.05 28.40
mapa2 = ggplot() +
geom_sf(data=mapa_idh_gini, aes(fill=Mortalidade_infantil))
scale_fill_distiller(palette = "Purples", direction = 1, name="mortalidade infantil",
limits = c(11,29))## <ScaleContinuous>
## Range:
## Limits: 11 -- 29
summary(BasesEstados$Taxa_analfabetismo)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.31 9.89 12.30 15.31 22.70 30.57
mapa3 = ggplot() +
geom_sf(data=mapa_idh_gini, aes(fill=Taxa_analfabetismo))
scale_fill_distiller(palette = "Reds", direction = 1, name="taxa analfabetismo",
limits = c(11,29))## <ScaleContinuous>
## Range:
## Limits: 11 -- 29
display.brewer.all()#usar no projeto
library(plotly) ## Warning: package 'plotly' was built under R version 4.2.3
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following objects are masked from 'package:flextable':
##
## highlight, style
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
ggplotly(mapa1)ggplotly(mapa2)ggplotly(mapa3)#imagem do mapa
library(leaflet)## Warning: package 'leaflet' was built under R version 4.2.3
mapa_lea = leaflet() %>%
addTiles() %>%
addCircles(lng= -43.1688718, lat= -22.954635, popup= "estamos aqui")
mapa_leamapa_lea %>% addProviderTiles(providers$Esri.WorldImagery)mapa_lea %>% addProviderTiles(providers$CartoDB.Positron)