有没有办法先将facet标签从1:3
更改为类似c(good, bad, ugly)
的内容。另外,我想为每个facet添加R2
值。下面是我的代码-我尝试了一些方法,但没有成功。
DF = data.frame(SUB = rep(1:3, each = 100), Ob = runif(300, 50,100), S1 = runif(300, 75,95), S2 = runif(300, 40,90),
S3 = runif(300, 35,80),S4 = runif(300, 55,100))
FakeData = gather(DF, key = "Variable", value = "Value", -c(SUB,Ob))
ggplot(FakeData, aes(x = Ob, y = Value))+
geom_point()+ geom_smooth(method="lm") + facet_grid(Variable ~ SUB, scales = "free_y")+
theme_bw()
这是我使用上面的代码得到的图。x1c 0d1x我尝试了下面的代码来更改facet_label,但是没有成功
ggplot(FakeData, SUB = factor(SUB, levels = c("Good", "Bad","Ugly")), aes(x = Ob, y = Value))+
geom_point()+ geom_smooth(method="lm") + facet_grid(Variable ~ SUB, scales = "free_y")+
theme_bw()
我不知道如何将R2
添加到facets
。有没有有效的方法将R2
添加到facets
?
3条答案
按热度按时间p4tfgftt1#
您可以使用
ggpubr::stat_cor()
轻松地将相关系数添加到图中。mpbci0fu2#
如果您不想使用其他软件包中的函数,而只想使用
ggplot2
,您需要计算每个SUB
和Variable
组合的R2
,然后将geom_text
或geom_label
添加到绘图中。ecbunoof3#
下面的答案使用了包'ggpmisc'(第二个例子的版本〉= 0.5.0),另外,我只是在
aes()
中使用了对factor()
的调用来设置标签。以及第二个示例中的图,将 P 添加到标签。
use_label()
函数的旧版本'ggpmisc',Map可以写成aes(label = paste(after_stat(rr.label), after_stat(p.label), sep = "*\", \"*")
,方法与使用'ggpubr'相同。包'ggpubr'包含从'ggpmisc'复制的代码,但没有确认,这解释了为什么这两个包之间的某些统计信息如此相似。'ggpmisc'关注的范围更窄,但其中的统计信息在被纳入'ggpubr'后得到了很大改善。'ggpmisc'正在积极维护,而'ggpubr'的维护目前似乎停止了。