微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用R2标记构面图列表

如何解决使用R2标记构面图列表

我试图将R2标签添加到要创建多面图的数据框列表中。列表中的每个数据框都有“建模”,“测量”和“化学”列。我在绘制Measured与Modeled的关系图,然后基于Chem进行构面。每次运行此命令时,我都会在eq中出错,我很确定这与我的数据在列表中有关。我对使用数据帧列表很陌生,因此可以提供任何帮助!

lm_eqn = function(i){
  m = lm(Modeled ~ Measured,dflist2[[i]]);
  eq <- substitute(~~R^2~"="~r2,list(r2 = format(summary(m)$r.squared,digits = 3)))
  as.character(as.expression(eq));                 
}

#make eqns for each Chem group,two attempts neither works
eq <- lapply(seq_along(dflist2),function(i) plyr::ddply(dflist2[[i]],.(Chem),lapply(seq_along(dflist2),lm_eqn)))

eq <- lapply(seq_along(dflist2),function(i) by(dflist2[[i]],dflist2[[i]]$Chem,lm_eqn)))

dflist3 <- data.frame(eq = unclass(eqns),Chem = as.numeric(names(eqns)))

#plot by chemical for each source model,graphs are produced in order of list
plots <- lapply(seq_along(dflist2),function(i)
dflist2[[i]] %>%
ggplot(aes(Measured,Modeled)) +
  geom_point(shape = 1) +
  geom_smooth(method = "lm")+ 
  facet_wrap(~Chem,scales = "free") +
  ggtitle(names(dflist)[[i]]) +
  geom_text(data = dflist3[[i]],aes(x = 1.5,y = 2.2,label = eq,family = "serif"),color = 'blue',parse = TRUE)
  )

plots[[1]]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。