首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加p值和R2 g-图[跟踪]

添加p值和R2 g-图[跟踪]
EN

Stack Overflow用户
提问于 2016-09-05 14:52:06
回答 1查看 4K关注 0票数 0

这是一个后续的问题。当我运行下面给出的代码时,我会收到警告消息,我认为这是由于我的代码中没有面要求,而链接中提到的源代码包含方面。请看一看,让我知道哪一部分需要修改。向前看!

代码:

代码语言:javascript
复制
library(dplyr) 
library(ggplot2)
library(ggpmisc)

df <- diamonds %>%
  dplyr::filter(cut%in%c("Fair","Ideal")) %>%
  dplyr::filter(clarity%in%c("I1" ,  "SI2" , "SI1" , "VS2" , "VS1",  "VVS2")) %>%
  dplyr::mutate(new_price = ifelse(cut == "Fair", 
                                   price* 0.5, 
                                   price * 1.1))


p <- ggplot(df, aes(x,y, color=factor(cut))) 
p <- p + stat_smooth(method = "lm", formula = y ~ x-1, size = 1, level=0.95) 
p <- p + geom_point(alpha = 0.3) 
p <- p + stat_poly_eq(aes(label = paste(..rr.label..)),
                      label.x.npc = "right", label.y.npc = 0.15, formula = formula, 
                      parse = TRUE, size = 3) + 
          stat_fit_glance(method = 'lm', method.args = list(formula = formula),
                      geom = 'text', aes(label = paste("P-value = ", 
                      signif(..p.value.., digits = 4), sep = "")),label.x.npc = 'right',
                      label.y.npc = 0.35, size = 3)
print(p)

警告信息:

1:stat_poly_eq()中的计算失败:类型为“闭包”的对象不可替换

2:stat_fit_glance()中的计算失败:类型为“闭包”的对象不可替换

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-05 15:34:56

简短的回答:你需要添加

代码语言:javascript
复制
formula <- y ~ x

在调用ggplot之前(即在读取p <- ggplot(...)的行之前)(或您将公式定义为是什么)。

因此,警告消息“类型为‘闭包’的对象不可被替换”意味着您正在运行的任何代码都不需要一个函数对象。

当我们仔细查看您的代码时,我们会在调用stat_poly_eqstat_fit_glance时看到stat_poly_eq。注意,formula是R中的一个函数,如果不单独定义formula对象,R将表示您引用的是formula函数。stat_poly_eq()stat_fit_glance()抱怨是因为他们期望函数中的formula参数是formula-class对象,而不是函数。

更广泛地说,你不应该把你的公式命名为“公式”,因为它会造成混乱。你可以用“模型”代替。

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

https://stackoverflow.com/questions/39333151

复制
相关文章

相似问题

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