Geração de gráficos em R

Luís Fabrício Wanderley Góes

você vai aprender

Instalar o R e pacote ggplot2
Gerar e ler a entrada de dados em R
Gerar um histograma
Gerar um bloxplot
Gerar um gráfico de linhas

pré-requisitos

instalação

Após instalar o RGui, basta seguir os passos abaixo para instalar o ggplot2 que permite a criação de gráficos esteticamente superiores ao R padrão.

Imagem widget
Imagem widget

entrada de dados

A entrada de dados no R é um arquivo .csv como no exemplo abaixo.

usuario,questao,resposta
1,1,2
1,2,3
1,3,5
1,4,2
1,5,1
1,6,2
1,7,3
1,8,5
1,9,1
1,10,2
2,1,3
2,2,4
2,3,1
2,4,5
2,5,3
2,6,2
2,7,3
2,8,1
2,9,4
2,10,4
3,1,4
3,2,5
3,3,5
3,4,5
3,5,2
3,6,3
3,7,4
3,8,1
3,9,1
3,10,1
4,1,3
4,2,4
4,3,5
4,4,3
4,5,3
4,6,3
4,7,3
4,8,3
4,9,2
4,10,2
5,1,2
5,2,3
5,3,5
5,4,3
5,5,2
5,6,2
5,7,1
5,8,4
5,9,4
5,10,5


Basta copiar os dados acima para o arquivo questoes.csv.


script para geração de histograma

Para criar um programa em R que gera um histograma, basta copiar o código abaixo para um arquivo com o nome histograma.R.

# Boxplot questões x respostas
# Inclui biblioteca ggplot2 pra gerar gráficos bonitos
library(ggplot2)

# Lê arquivo de entrada em formato .csv (lembre-se: Windows tem que usar \\ para pastas)
questoes <- read.csv("C:\\Users\\cabra\\Desktop\\desktop\\R\\questions\\questoes.csv")

# Gera gráfico (eixos) de respostas
ggplot(questoes, aes(x=resposta)) +

# Gera histograma de respostas
# "bins" serve pra agrupar os dados, por exemplo, 
# se bins=1, todos os dados ficam em um grupo só
# se bins=2, os dados serão dividos em dois grupos
geom_histogram(bins=5,col="black",fill="skyblue3") +

# Muda a fonte dos labels e texto dos eixos
theme(axis.text=element_text(size=12),
      axis.title=element_text(size=14,face="bold"))

Lembre-se de modificar o caminho do arquivo de entrada no comando read.csv.


execução de script

Para executar um script em R, basta seguir os passos abaixo.

Então selecione todo o texto do script e clique na ícone de "Executar linha ou seleção".

Após seguir os passos anteriores de execução de script, o gráfico gerado é o seguinte.

 ​​​​​​​

Imagem widget
Imagem widget
Imagem widget

script para geração de boxplot

Para criar um programa em R que gera um boxplot, basta copiar o código abaixo para um arquivo com o nome boxplot.R.

# Boxplot questões x respostas
# Inclui biblioteca ggplot2 pra gerar gráficos bonitos
library(ggplot2)

# Lê arquivo de entrada em formato .csv (lembre-se: Windows tem que usar \\ para pastas)
questoes <- read.csv("C:\\Users\\cabra\\Desktop\\desktop\\R\\questions\\questoes.csv")

# Cria gráfico agrupando o eixo x por questões
ggplot(questoes, aes(x=factor(questao), y=resposta)) +

# Gera o boxplot com tamanho da linha e cor das caixas
geom_boxplot(lwd=0.8,fill="#9bc2cf") +

# Coloca nome no eixo Y
scale_y_continuous(name = "Respostas") +

# Coloca nome no eixo X e também as palavras chave pra identificar cada questão
scale_x_discrete(name = "Questões",labels = c("imagem","fácil","intuitivo","coerente","frequência","segurança","navegação","link","edição","busca")) +

# Muda a fonte dos labels e texto dos eixos
theme(axis.text=element_text(size=12),
      axis.title=element_text(size=14,face="bold"))

Após seguir os passos anteriores de execução de script, o gráfico gerado é o seguinte.

script para geração ​​​​​​​de gráfico de linha

Para criar um programa em R que gera um gráfico de linha, basta copiar o código abaixo para um arquivo com o nome linha.R.

# Boxplot tarefas x metrica
# Inclui biblioteca ggplot2 pra gerar gráficos bonitos
library(ggplot2)

# Lê arquivo de entrada em formato .csv (lembre-se: Windows tem que usar \\ para pastas)
questoes <- read.csv("C:\\Users\\cabra\\Desktop\\desktop\\R\\questions\\questoes.csv")

# Cria gráfico agrupando as tarefas por usuário
ggplot(questoes,aes(x=questao,y=resposta,group=factor(usuario),color=factor(usuario))) + 

# Gera gráfico de linha
geom_line(size=1.5) +

# Gera pontos
geom_point(size=3) +

# Coloca nome no eixo X e também as palavras chave pra identificar cada tarefa
scale_x_continuous(name = "Questões",labels = c("imagem","fácil","intuitivo","coerente","frequência","segurança","navegação","link","edição","busca"),
                 breaks = c(1,2,3,4,5,6,7,8,9,10)) +

# Coloca nome no eixo Y
scale_y_continuous(name = "Resposta") +

# Muda nome legenda
labs(color="Usuário") +

# Muda a fonte dos labels e texto dos eixos
theme(axis.text=element_text(size=12),
      axis.title=element_text(size=14,face="bold"), 
      legend.position="top")

Após seguir os passos anteriores de execução de script, o gráfico gerado é o seguinte.


fragmento de código widget
Imagem widget

links úteis

Voltar