Variáveis, hipóteses e gráficos - Parte 2
2 participantes
Página 1 de 1
Variáveis, hipóteses e gráficos - Parte 2
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
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- Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro
Re: Variáveis, hipóteses e gráficos - Parte 2
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:
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:
Aqui usei ela bem toscamente, mas você pode adicionar argumentos à vontade para melhorar a visualização.
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:
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.
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.
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.
Re: Variáveis, hipóteses e gráficos - Parte 2
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
Abs
Marcello Guerreiro- Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro
Re: Variáveis, hipóteses e gráficos - Parte 2
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:
Acho que é isso, mas qualquer coisa continuamos.
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.
Re: Variáveis, hipóteses e gráficos - Parte 2
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
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- Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro
Re: Variáveis, hipóteses e gráficos - Parte 2
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.
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- Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro
Re: Variáveis, hipóteses e gráficos - Parte 2
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...
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...
Re: Variáveis, hipóteses e gráficos - Parte 2
Ah, mais coisas sobre jitter no ggplot:
http://ggplot2.tidyverse.org/reference/geom_jitter.html
(este parece ser um bom guia)
http://ggplot2.tidyverse.org/reference/geom_jitter.html
(este parece ser um bom guia)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|