Formulário para entrevista População alvo: alunos matriculados na disciplina de Estatística
Identificação do formulário Qual é o seu sexo? Qual é a sua idade em anos completos? Qual é a sua altura em cm? Exerce atividade remunerada durante o dia? Qual é o percentual de bolsa ou auxílio que recebe para pagar a mensalidade? Em que curso de graduação se matriculou? Pretende fazer pós-graduação? Qual foi a sua conta de ano (rendimento do ano anterior)? Estou satisfeito com o curso de graduação? Tem interesse em participar voluntariamente de projetos de pesquisa na área acadêmica? Quantos irmão possui?
Variável Códigos observação
library(readxl)
dados <- read_excel("dados.xlsx",sheet = "dados")
head(dados)
Dica: Poderiam recodificar os dados no excel antes de ler os dados no R
dados$sexo <- factor(dados$sexo, levels = c("1","2"), labels=c("Masculino", "Feminino"))
# veja como ficou
head(dados)
# vamos recodificar as demais variáveis
dados$atividade <- factor(dados$atividade, levels = c("1","2"), labels=c("Sim", "Não"))
dados$curso <- factor(dados$curso, levels = c("1","2","3","4"), labels=c("Eng. Mecânica", "Eng. Produção", "Eng Elétrica", "Eng. Civil"))
dados$posgrad <- factor(dados$posgrad, levels = c("1","2"), labels=c("Sim", "Não"))
dados$satisfacao <- factor(dados$satisfacao, levels = c("1","2","3","4","5"), labels=c("discordo totalmente","discordo","indiferente","concordo","Concordo totalmente"))
dados$pesquisa <- factor(dados$pesquisa, levels = c("1","2"), labels=c("Sim", "Não"))
dados
Variável aleatória qualitativa nominal: sexo; atividade; curso; posgrad; pesquisa
Variável aleatória qualitativa ordinal: satisfacao
Variável aleatória quantitativa discreta: irmao
Variável aleatória quantitativa contínua: idade; altura; percentual; rendimento
# tabulação simples
table(dados$sexo)
Masculino Feminino
25 25
table(dados$atividade)
Sim Não
20 30
table(dados$curso)
Eng. Mecânica Eng. Produção Eng Elétrica Eng. Civil
8 20 11 11
table(dados$posgrad)
Sim Não
34 16
table(dados$satisfacao)
discordo totalmente discordo indiferente concordo
2 4 3 29
Concordo totalmente
12
table(dados$pesquisa)
Sim Não
22 28
table(dados$irmao)
0 1 2 3
33 12 2 3
# algumas tabulações cruzadas
table(dados$sexo, dados$atividade)
Sim Não
Masculino 9 16
Feminino 11 14
table(dados$sexo, dados$curso)
Eng. Mecânica Eng. Produção Eng Elétrica Eng. Civil
Masculino 3 10 6 6
Feminino 5 10 5 5
table(dados$sexo, dados$satisfacao)
discordo totalmente discordo indiferente concordo Concordo totalmente
Masculino 0 2 2 15 6
Feminino 2 2 1 14 6
summary(dados)
id sexo idade altura atividade
Min. : 1.00 Masculino:25 Min. :15.00 Min. :123.0 Sim:20
1st Qu.:13.25 Feminino :25 1st Qu.:18.00 1st Qu.:153.0 Não:30
Median :25.50 Median :18.00 Median :160.5
Mean :25.50 Mean :19.26 Mean :160.6
3rd Qu.:37.75 3rd Qu.:19.75 3rd Qu.:169.5
Max. :50.00 Max. :39.00 Max. :190.0
percentual curso posgrad rendimento satisfacao
Min. : 10.0 Eng. Mecânica: 8 Sim:34 Min. :5.062 discordo totalmente: 2
1st Qu.: 10.0 Eng. Produção:20 Não:16 1st Qu.:6.334 discordo : 4
Median : 10.0 Eng Elétrica :11 Median :7.034 indiferente : 3
Mean : 19.6 Eng. Civil :11 Mean :6.951 concordo :29
3rd Qu.: 20.0 3rd Qu.:7.440 Concordo totalmente:12
Max. :100.0 Max. :9.225
pesquisa irmao
Sim:22 Min. :0.0
Não:28 1st Qu.:0.0
Median :0.0
Mean :0.5
3rd Qu.:1.0
Max. :3.0
library(psych)
#separar somente dados quntitativos
names(dados)
[1] "id" "sexo" "idade" "altura" "atividade" "percentual"
[7] "curso" "posgrad" "rendimento" "satisfacao" "pesquisa" "irmao"
dados2 <- dados[,c(3,4,6,9,12)]
names(dados2)
[1] "idade" "altura" "percentual" "rendimento" "irmao"
describe(dados2)
vars n mean sd median trimmed mad min max range skew kurtosis
idade 1 50 19.26 3.75 18.00 18.52 1.48 15.00 39.00 24.00 3.40 13.84
altura 2 50 160.56 13.92 160.50 160.88 11.86 123.00 190.00 67.00 -0.24 0.24
percentual 3 50 19.60 16.41 10.00 15.75 0.00 10.00 100.00 90.00 2.78 9.55
rendimento 4 50 6.95 0.95 7.03 6.94 0.79 5.06 9.22 4.16 0.06 -0.11
irmao 5 50 0.50 0.84 0.00 0.30 0.00 0.00 3.00 3.00 1.73 2.25
se
idade 0.53
altura 1.97
percentual 2.32
rendimento 0.13
irmao 0.12
library(ggplot2)
Need help? Try the ggplot2 mailing list:
http://groups.google.com/group/ggplot2.
Attaching package: 㤼㸱ggplot2㤼㸲
The following objects are masked from 㤼㸱package:psych㤼㸲:
%+%, alpha
library(dplyr)
Attaching package: 㤼㸱dplyr㤼㸲
The following objects are masked from 㤼㸱package:stats㤼㸲:
filter, lag
The following objects are masked from 㤼㸱package:base㤼㸲:
intersect, setdiff, setequal, union
library(RColorBrewer)
vamos usar o pacote dplyer. Cada operação é marcada pelo símbolo %>% (pipe) Na sequência empregamos o pagote ggplot2
g1 <- dados %>% count(sexo)
g1
graf <- ggplot(g1, aes(x=sexo, y=n))
graf +
geom_bar(stat="identity", fill = "steelblue", width = .3) +
geom_text(aes(label=n), vjust=1.5, colour="black",position=position_dodge(.9), size=3) +
scale_fill_brewer(palette="Dark2") +
labs(title = "Gráfico de colunas", x = "Variável", y = "Frequência")+
theme_light()
g1 <- dados %>% count(sexo, atividade)
g1
graf <- ggplot(g1, aes(x=sexo, y=n, fill=atividade))
graf +
geom_bar(stat="identity", width = .3,position=position_dodge()) +
geom_text(aes(label=n), vjust=1.5, colour="black",position=position_dodge(.9), size=3) +
scale_fill_brewer(palette="Dark2") +
labs(title = "Gráfico de colunas: Sexo x Atividade remunerada", x = "Variável", y = "Frequência")+
theme_light()
g1 <- dados %>% count(sexo, atividade)
g1
graf <- ggplot(g1, aes(x="", y=n, fill=atividade))
graf +
geom_bar(stat="identity") +
scale_fill_brewer(palette="Dark2") +
labs(title = "Gráfico de Setor: Atividade remunerada", x = "", y = "")+
theme_light()+
coord_polar("y", start=0)
# temos que transformar a variável irmão em uma variável qualitativa para representá-la como categorias
g1 <- dados %>% count(sexo, irmao) %>% mutate(irmao, irmao =as.factor(irmao))
g1
graf <- ggplot(g1, aes(x=sexo, y=n, fill=irmao))
graf +
geom_bar(stat="identity", width = .3,position=position_dodge()) +
scale_fill_brewer(palette="Dark2") +
labs(title = "Gráfico de colunas: Sexo x Número de irmãos", x = "Variável", y = "Frequência")+
theme_light()
# boxplot (algumas possibilidades....)
e <- ggplot(dados, aes(x = sexo, y = rendimento))
# Basic box plot
e + geom_boxplot() + theme_light()
# Rotate the box plot
e + geom_boxplot() + coord_flip() + theme_light()
# Notched box plot
e + geom_boxplot(notch = TRUE) + theme_light()
# Box plot with mean points
e + geom_boxplot() +
stat_summary(fun.y = mean, geom = "point",
shape = 18, size = 4, color = "blue") + theme_light()
# com cores
# Basic box plot
# Basic box plot
e2 <- e + geom_boxplot(aes(fill=sexo)) + theme_light()
e2 + scale_fill_brewer(palette="Set1")
e2 + scale_fill_brewer(palette="Set2")
e2 + scale_fill_brewer(palette="Set3")
# escolha as cores digitando ?scale_fill_brewer()
# gráfico de pontos
e <- ggplot(dados, aes(x = sexo, y = rendimento))
e + geom_dotplot(binaxis = "y", stackdir = "center", stackratio = 1.5, dotsize = 1.1)
e + geom_boxplot() +
geom_dotplot(binaxis = "y", stackdir = "center", stackratio = 1.5, dotsize = 1.1) + theme_light()
e + geom_boxplot(aes(fill=sexo)) +
geom_dotplot(binaxis = "y", stackdir = "center", stackratio = 1.5, dotsize = 1.1) + theme_light()
e + geom_boxplot() +
geom_dotplot(aes(fill = sexo), binaxis = "y", stackdir = "center", stackratio = 1.5, dotsize = 1.1) + theme_light()
e2 <- ggplot(dados, aes(x = curso, y = rendimento))
e2 + geom_boxplot() +
geom_dotplot(aes(fill = sexo), binaxis = "y", stackdir = "center", stackratio = 1.5, dotsize = 1.1) + theme_light()
# variação do boxplot (violin plot)
e2 + geom_violin(trim = FALSE) + geom_jitter(position = position_jitter(0.2)) + theme_light()
# diagrama de dispersão (scatter plot)
f <- ggplot(dados, aes(x = percentual, y = rendimento))
f + geom_point(color = "blue", size = 2)
f + geom_jitter(position = position_jitter(width = 0.5, height = 0.5), size=2, color="blue")
f + geom_point(aes(shape = sexo, color = sexo), size = 2)