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.

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

2 participantes

Ir para baixo

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

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

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
Marcello Guerreiro
Marcello Guerreiro

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

Ir para o topo Ir para baixo

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

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

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. Wink

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!
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

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

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

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
Marcello Guerreiro

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

Ir para o topo Ir para baixo

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

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

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:

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.
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

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

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

Ah, e podemos usar a função expres​sion() para gerar equações que não sejam apenas texto, ok?

Mas já volto com o exemplão. 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

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

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

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))


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

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

Mensagem por Marcello Guerreiro Qua Nov 08, 2017 5:03 pm

Legal. Sou muito agradecido por sua dedicação e ajuda! Este curso esta sendo ótimo, e estamos no começo. Muito obrigado
Marcello Guerreiro
Marcello Guerreiro

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

Ir para o topo Ir para baixo

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

Mensagem por Marcello Guerreiro Qua Nov 08, 2017 5:09 pm

Excelente,

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

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Rplot110
Marcello Guerreiro
Marcello Guerreiro

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

Ir para o topo Ir para baixo

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

Mensagem por Prof. Marcos Qua Nov 08, 2017 5:12 pm

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!
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

Inserir no gráfico em forma de texto a função que gerou a regressão e seu R² Empty Re: Inserir no gráfico em forma de texto a função que gerou a regressão e seu R²

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