R 如何添加到ggplot2中的面标签

R 如何添加到ggplot2中的面标签,r,ggplot2,plot,tidyverse,R,Ggplot2,Plot,Tidyverse,我想知道如何在我下面的图中的镶嵌面标签旁边显示粘贴(“n=,ns)的结果 library(tidyverse) dd <- read.csv('https://raw.githubusercontent.com/rnorouzian/e/master/3.csv') ns <- dd %>% group_by(schoolid) %>% summarise(n = n()) %>% pull(n) ggplot(data = dd, aes(x = ye

我想知道如何在我下面的图中的镶嵌面标签旁边显示粘贴(“n=,ns)的结果

library(tidyverse)

dd <- read.csv('https://raw.githubusercontent.com/rnorouzian/e/master/3.csv')

ns <- dd %>% group_by(schoolid) %>% 
  summarise(n = n()) %>% pull(n)

ggplot(data = dd, aes(x = year, y = math, group = factor(childid)))+
  geom_point() + geom_smooth(method = "lm", se = FALSE, size = .1, formula = y~offset(.5*x)) + 
  facet_wrap(~factor(schoolid)) 

# Tried the following without success:
# + 
  # geom_label(aes(x=4, y=5), label= paste("n =", ns), show.legend = FALSE)
库(tidyverse)
dd%
汇总(n=n())%>%pull(n)
ggplot(数据=dd,aes(x=年份,y=数学,组=因子(儿童ID)))+
geom_point()+geom_smooth(method=“lm”,se=FALSE,size=0.1,公式=y~偏移量(.5*x))+
面_包裹(~因子(学校ID))
#尝试了以下操作但未成功:
# + 
#geom_标签(aes(x=4,y=5),标签=粘贴(“n=”,ns),show.legend=FALSE)

我们可以使用命名向量并将其传递到
labeller

ns1 <- setNames(paste0(unique(dd$schoolid), ' (', ns, ')'), 
                  unique(dd$schoolid) )
ggplot(data = dd, aes(x = year, y = math, 
            group = factor(childid)))+
    geom_point() + 
    geom_smooth(method = "lm", se = FALSE, size = .1, 
            formula = y~offset(.5*x)) + 
    facet_wrap(~schoolid, labeller = labeller(schoolid = ns1)) + 
            guides(fill = FALSE)

ns1@AllanCameron,你的答案是错的。请注意,我想在代码中定义的
ns
粘贴(“n=,ns)
。谢谢!我试图在
geom_smooth()
中设置
alpha=.1
,但似乎没有效果<代码>。。。几何平滑(method=“lm”,se=FALSE,size=0.1,formula=y~偏移量(.5*x),alpha=0.01).@rnorouzian可能会有所帮助