首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R,R_2,p-值和回归方程

R,R_2,p-值和回归方程
EN

Stack Overflow用户
提问于 2017-04-21 12:23:32
回答 1查看 1.9K关注 0票数 0

这段代码给出了回归方程和R2:(但我需要提到的是x和y(手动))。

代码语言:javascript
复制
CORRELATIONP3 <-CORRELATIONP2[product=='a',]

x<-CORRELATIONP3$b
y<-CORRELATIONP3$p


df <- data.frame(x = x)
m <- lm(y ~ x, data = df)
p <- ggplot(data = df, aes(x = x, y = y)) +
  scale_x_continuous("b (%)") +
  scale_y_continuous("p (%)")+
  geom_smooth(method = "lm", formula = y ~ x) +
  geom_point()
p

eq <- substitute(italic(y) == a + b %.% italic(x)*","~~italic(r)^2~"="~r2,
             list(        a = format(coef(m)[1], digits = 4),
                          b = format(coef(m)[2], digits = 4),
                          r2 = format(summary(m)$r.squared, digits = 3)))

dftext <- data.frame(x = 3, y = 0.2, eq = as.character(as.expression(eq)))

p + geom_text(aes(label = eq), data = dftext, parse = TRUE)

但是,对于这段代码,我有R和p值:在这里,关于R和p值的信息在图中是自动匹配的,为什么?我也想把这个放在第一个。

代码语言:javascript
复制
  CORRELATIONP3 <-CORRELATIONP2[product=='a',]

x<-CORRELATIONP3$b
y<-CORRELATIONP3$p


df <- data.frame(x = x)
m <- lm(y ~ x, data = df)
p <- ggplot(data = df, aes(x = x, y = y)) +
  scale_x_continuous("b (%)") +
  scale_y_continuous("p (%)")+
  geom_smooth(method = "lm", formula = y ~ x) +
  geom_point()
p

eq <- substitute(italic(r)~"="~rvalue*","~italic(p)~"="~pvalue, list(rvalue = sprintf("%.2f",sign(coef(m)[2])*sqrt(summary(m)$r.squared)), pvalue = format(summary(m)$coefficients[2,4], digits = 3)))


dftext <- data.frame(x = 30, y = 0.4, eq = as.character(as.expression(eq)))
p + geom_text(aes(label = eq), data = dftext, parse = TRUE)

你能告诉我怎样才能把所有的四个信息合并成一个图解吗?(R,R2,方程和p-值)

此外,我希望这些资料可自动纳入地块,而非人手。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-21 14:06:19

好的,我不确定这是否有效,因为您还没有给出一个可重复的数据示例,但我想您只需重命名一个变量,例如:

代码语言:javascript
复制
eq2 <- substitute(italic(r)~"="~rvalue*","~italic(p)~"="~pvalue, 
list(rvalue = sprintf("%.2f",sign(coef(m)[2])*sqrt(summary(m)$r.squared)), 
pvalue = format(summary(m)$coefficients[2,4], digits = 3)))

然后你改变你在你的情节中的点,就在你第一幅图的另一个块的下面。这里的x和y指的是文本的位置,所以在这些地方玩,直到你的文本看起来还好为止。

代码语言:javascript
复制
dftext2 <- data.frame(x = 30, y = 0.12, eq2 = as.character(as.expression(eq2)))
p + geom_text(aes(label = eq2), data = dftext2, parse = TRUE)

请让我知道这是否有效,如果这是你的意思。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43542657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档