Programa R para Biologia da Conservação
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Variáveis, hipóteses e gráficos - Parte 2

2 participantes

Ir para baixo

Variáveis, hipóteses e gráficos - Parte 2 Empty Variáveis, hipóteses e gráficos - Parte 2

Mensagem por Marcello Guerreiro Seg Nov 06, 2017 11:43 am

Prezado Marcos,

No vídeo Variáveis, hipóteses e gráficos - Parte 2 do módulo 3, é apresentado um gráfico com uma variável explicativa categórica e uma variável resposta quantitativa, onde são apresentados todos os dados, este tipo de gráfico é muito utilizado no livro estatística sem matemática (http://www.ib.usp.br/~lfsilveira/pdf/mag3.pdf.pdf), não vi nos vídeos, como fazer este gráfico, poderia nos explicar?

Abs
Marcello Guerreiro
Marcello Guerreiro

Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro

Ir para o topo Ir para baixo

Variáveis, hipóteses e gráficos - Parte 2 Empty Re: Variáveis, hipóteses e gráficos - Parte 2

Mensagem por Prof. Marcos Qua Nov 08, 2017 11:47 am

Oi, Guerreiro!

Então, este é apenas um gráfico de dispersão mesmo, no qual não usamos um elemento de tendência central, como média ou variância. É bastante simples, mas no R tem um pequeno truque para ele aparecer.

Se usarmos a função plot simplesmente, o R acaba criando um boxplot, assim:

Código:
data(iris)
plot(Sepal.Length~Species, data=iris)

Então temos que ir em uma função mais "primitiva", que não vai interpretar os dados e tentar interagir com a natureza deles. O truque, então, é usar a plot.default(), assim:

Código:
plot.default(iris$Sepal.Length~iris$Species)

Aqui usei ela bem toscamente, mas você pode adicionar argumentos à vontade para melhorar a visualização. Wink

Agora, se quiser ir um pouquinho além, recomendo olhar os "jitter plots", que fazem com que os pontos não fiquem sobrepostos (você pode não conseguir enxergar todos os pontos, uma vez que podem ter valores repetidos).

Este tipo de gráfico é bem fácil de fazer usando ggplot2, mas se quiser fazer no base, pode ser feito assim:

Código:
plot.default(iris$Sepal.Length~jitter(as.integer(iris$Species), 1))

Aqui tive que usar outro truque: a função jitter só aceita números, então usei as.integer para converter a variável categórica em números de 1 a 3.
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Variáveis, hipóteses e gráficos - Parte 2 Empty Re: Variáveis, hipóteses e gráficos - Parte 2

Mensagem por Marcello Guerreiro Qua Nov 08, 2017 12:04 pm

Professor Marcos, muito obrigado! No caso de dados com os mesmos valores, é possível que os mesmos possam ser visualizados, um do lado do outro na mesma coordenada (x,y)?

Abs
Marcello Guerreiro
Marcello Guerreiro

Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro

Ir para o topo Ir para baixo

Variáveis, hipóteses e gráficos - Parte 2 Empty Re: Variáveis, hipóteses e gráficos - Parte 2

Mensagem por Prof. Marcos Qua Nov 08, 2017 4:14 pm

Oi, Guerreiro!

Não sei se entendi a pergunta, mas se entendi bem, então a solução é a função jitter, como usei acima.

Vamos criar um exemplo rápido aqui:

Código:

#Os dados:
dados<-structure(list(x = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L),
    y = c(1L, 2L, 3L, 1L, 2L, 3L, 4L, 5L, 3L, 3L)), .Names = c("x",
"y"), class = "data.frame", row.names = c(NA, -10L))

#Conferindo:
dados

#Primeiro gráfico:
plot(dados$y~dados$x, pch=16)
#Note que neste exemplo, alguns pontos sumiram...

#Gráfico com jitter no eixo y:
plot(jitter(dados$y, 1)~dados$x, pch=16)

#Gráfico com jitter no eixo x:
plot(dados$y~jitter(dados$x,0.5), pch=16)

#O parâmetro numérico da função jitter define o quanto os pontos se espalham

Acho que é isso, mas qualquer coisa continuamos. Wink
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Variáveis, hipóteses e gráficos - Parte 2 Empty Re: Variáveis, hipóteses e gráficos - Parte 2

Mensagem por Marcello Guerreiro Qua Nov 08, 2017 4:23 pm

Legal,

para que serve a informação "L" ao lados dos numeros? e No row.names, o que significa o NA e o -10L?

Realmente o jitter não emparelha de forma organizada, os espaçamentos não ficam empilhados na mesma direção? eles se espalham de forma um pouco desorganizada, estou testando valores diferentes do parâmetro do jitter mas não acho uma organização menos espalhada na mesma coluna de .

Muito obrigado por responder minhas perguntas.

Abs
Marcello Guerreiro
Marcello Guerreiro

Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro

Ir para o topo Ir para baixo

Variáveis, hipóteses e gráficos - Parte 2 Empty Re: Variáveis, hipóteses e gráficos - Parte 2

Mensagem por Marcello Guerreiro Qua Nov 08, 2017 4:34 pm

Prezado Marcos,

Tentei utilizar o seguinte código, com o objetivo de buscar uma distribuição dos pontos mais organizada no eixo X e Y, mas não ficou bom ainda.

Código:

#Gráfico com jitter no eixo x e y:
plot(jitter(dados$y,0.25)~jitter(dados$x,0.25), pch=16)
Marcello Guerreiro
Marcello Guerreiro

Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro

Ir para o topo Ir para baixo

Variáveis, hipóteses e gráficos - Parte 2 Empty Re: Variáveis, hipóteses e gráficos - Parte 2

Mensagem por Prof. Marcos Qua Nov 08, 2017 4:45 pm

Talvez a solução seja buscar as funções do ggplot2, já vi gráficos com jitter muito bons com ele.

Veja este exemplo, são dois boxplots com pontos em jitter sobrepostos, e o segundo exemplo é do ggplot:

https://stackoverflow.com/questions/23675735/how-to-add-boxplots-to-scatterplot-with-jitter/23677410

Sobre o exemplo anterior: o começo do código foi usado para gerar os dados, ele sai como resultado da função dput(). O que eu faço é:

- crio os dados no excel mesmo, e levo para o R normalmente, importando;
- depois uso dput(dados), e o código gerado eu uso para colar aqui no forum, de forma que as pessoas possam usar os dados sem ter que baixar arquivos ou algo assim.

Mas o código gerado pela dput é algo que na prática eu não entendo, apenas uso, de forma que não sei explicar por que ele usa a letra L ao lado do número e outros detalhes...

Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Variáveis, hipóteses e gráficos - Parte 2 Empty Re: Variáveis, hipóteses e gráficos - Parte 2

Mensagem por Prof. Marcos Qua Nov 08, 2017 4:46 pm

Ah, mais coisas sobre jitter no ggplot:

http://ggplot2.tidyverse.org/reference/geom_jitter.html

(este parece ser um bom guia)
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Variáveis, hipóteses e gráficos - Parte 2 Empty Re: Variáveis, hipóteses e gráficos - Parte 2

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos