Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
2 participantes
Página 1 de 1
Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
Prezado Marcos,
Nos pacotes estatísticos de outros programas, conseguimos inserir no gráfico a função gerada a partir de uma regressão por exemplo e seu valor de ajuste o R², como podemos realizar o mesmo no R, depois que adicionamos uma reta pelo comando abline? é possível fazer isso por comando direto, sem termos que digitar toda a função e o R² calculado em forma de texto? Mas é importante saber como fazer em forma de texto também, como já sabemos o R possui muitas formas de fazer a mesma coisa.
Abs
Nos pacotes estatísticos de outros programas, conseguimos inserir no gráfico a função gerada a partir de uma regressão por exemplo e seu valor de ajuste o R², como podemos realizar o mesmo no R, depois que adicionamos uma reta pelo comando abline? é possível fazer isso por comando direto, sem termos que digitar toda a função e o R² calculado em forma de texto? Mas é importante saber como fazer em forma de texto também, como já sabemos o R possui muitas formas de fazer a mesma coisa.
Abs
Marcello Guerreiro- Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 46
Localização : Rio de Janeiro
Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
Oi, Guerreiro!
Então, talvez exista um caminho automático (como uma função para isso), mas não conheço. Posso procurar um pouco, na certa alguém pensou a respeito e fez.
Agora, há um caminho intermediário, que eu acho bem interessante. Você pode usar o resultado da regressão para "chamar" os valores dos coeficientes e do R2, de tal forma que você pode criar um script que sempre coloca este valores no seu gráfico, mas sem ter que digitar os números. Veja aqui como acessar os valores sem digitar:
E claro que você pode arredondar, por exemplo:
No caso dos coeficientes, se quiser um de cada vez, faça assim:
Qualquer coisa vamos seguindo com o papo!
Então, talvez exista um caminho automático (como uma função para isso), mas não conheço. Posso procurar um pouco, na certa alguém pensou a respeito e fez.
Agora, há um caminho intermediário, que eu acho bem interessante. Você pode usar o resultado da regressão para "chamar" os valores dos coeficientes e do R2, de tal forma que você pode criar um script que sempre coloca este valores no seu gráfico, mas sem ter que digitar os números. Veja aqui como acessar os valores sem digitar:
- Código:
#Dados:
data(iris)
#Regressão:
modelo<-lm(iris$Sepal.Length~iris$Petal.Width)
summary(modelo)
#Gráfico com reta:
plot(iris$Sepal.Length~iris$Petal.Width, las=1, pch=16)
abline(modelo, col="red", lty=2)
#Olhando o objeto com o modelo, para achar os coeficientes da equação:
str(modelo)
#Os coefiecientes da fórmula estão em:
modelo$coefficients
#Já o R2 está mais escondido, veja aqui:
str(summary(modelo))
#Daí, para obtê-lo:
summary(modelo)$adj.r.squared
E claro que você pode arredondar, por exemplo:
- Código:
round(summary(modelo)$adj.r.squared, 2)
No caso dos coeficientes, se quiser um de cada vez, faça assim:
- Código:
#Intercepto:
modelo$coefficients[2]
#Inclinação:
modelo$coefficients[1]
Qualquer coisa vamos seguindo com o papo!
Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
Professor Marcos, Ok, encontramos os valores, agora, como eu posso plotar no gráfico a função e o R² de forma literal, como uma legenda?
Marcello Guerreiro- Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 46
Localização : Rio de Janeiro
Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
Opa, bora lá então!
Para começar com um exemplo completamente genérico, pegue o gráfico do exemplo anterior e, com ele aberto, execute:
Isso vai escrever a equação no gráfico, nas coordenadas 0.5, 7.5.
Você pode mexer nas coordenadas para achar posições melhores.
Ou, se preferir que a equação apareça na margem, pode usar a função mtext() no lugar de text().
Já volto para dar o exemplo completo, com os dados da regressão.
Para começar com um exemplo completamente genérico, pegue o gráfico do exemplo anterior e, com ele aberto, execute:
- Código:
#Com o gráfico ainda aberto, execute:
text(0.5, 7.5, "y=ax+b")
Isso vai escrever a equação no gráfico, nas coordenadas 0.5, 7.5.
Você pode mexer nas coordenadas para achar posições melhores.
Ou, se preferir que a equação apareça na margem, pode usar a função mtext() no lugar de text().
Já volto para dar o exemplo completo, com os dados da regressão.
Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
Ah, e podemos usar a função expression() para gerar equações que não sejam apenas texto, ok?
Mas já volto com o exemplão.
Mas já volto com o exemplão.
Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
Aqui para plotar a equação completinha, usando os dados extraídos do modelo:
- Código:
a<-round(modelo$coefficients[1],2)
b<-round(modelo$coefficients[2],2)
plot(iris$Sepal.Length~iris$Petal.Width, las=1, pch=16)
abline(modelo, col="red", lty=2)
text(0.5, 7.5, paste("y=", a, "x", "+", b))
Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
Legal. Sou muito agradecido por sua dedicação e ajuda! Este curso esta sendo ótimo, e estamos no começo. Muito obrigado
Marcello Guerreiro- Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 46
Localização : Rio de Janeiro
Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
Excelente,
Olhe o que fiz depois
Ficou ótimo
Olhe o que fiz depois
- Código:
plot(iris$Sepal.Length~iris$Petal.Width, las=1, pch=16)
abline(modelo, col="red", lty=2)
text(0.5, 7.5, paste("y=", a, "x", "+", b, " ", "R²=", round(summary(modelo)$adj.r.squared,4)))
Ficou ótimo
Marcello Guerreiro- Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 46
Localização : Rio de Janeiro
Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²
Que massa, Guerreiro, ficou bom mesmo!
E fico feliz que esteja aproveitando bem o curso. Vamos seguindo e aprendendo, fico sempre feliz em poder ajudar ao longo das aulas, pois acabo aprendendo mais coisas no caminho também.
Abraços!
E fico feliz que esteja aproveitando bem o curso. Vamos seguindo e aprendendo, fico sempre feliz em poder ajudar ao longo das aulas, pois acabo aprendendo mais coisas no caminho também.
Abraços!
Conteúdo patrocinado
Tópicos semelhantes
» Inserir setas e nomes num gráfico lineplot.CI
» inserir intervalo de confiança em grafico: interaction.plot(z$dia, z$trat, z$A)
» Erro no Gráfico com a função par
» Erro no gráfico da função plot
» Problemas com o gráfico da função média e desvio
» inserir intervalo de confiança em grafico: interaction.plot(z$dia, z$trat, z$A)
» Erro no Gráfico com a função par
» Erro no gráfico da função plot
» Problemas com o gráfico da função média e desvio
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|