1

我正在尝试向这个 facet_grid 添加一条回归线,但我似乎遇到了问题。

 qplot(date, data=ua, geom="bar", 
                      weight=count, 
                      ylab="New User Count", 
                      xlab='Date', 
                      main='New Users by Type Last 3 Months',
                      colour=I('lightgreen'),
                      fill=I('grey')) + 
    facet_grid(un_region~role, scales='free', space='free_y') + 
    opts(axis.text.x =theme_text(angle=45, size=5))

这是我正在使用的数据样本,请注意计数需要相加,这就是我使用 weight=count 的原因,不确定是否有更好的方法。

     date         role                   name un_region              un_subregion us_state count
1 2012-06-21 ENTREPRENEUR              Australia   Oceania Australia and New Zealand              2
2 2012-06-21 ENTREPRENEUR                Belgium    Europe            Western Europe              1

谢谢。

4

1 回答 1

4

我不确定你在画什么斜率,因为你似乎在使用条形图。你可以通过三种方式做到这一点,我将举例说明两种。如果您有实际的 xy 数据并且您想按方面拟合各个回归线,只需使用stat_smooth(method="lm"). 这是一些代码:

library(ggplot2)
x <- rnorm(100)
y <-  + .7*x + rnorm(100)
f1 <- as.factor(c(rep("A",50),rep("B",50)))
f2 <- as.factor(rep(c(rep("C",25),rep("D",25)),2))
df <- data.frame(cbind(x,y))
df$f1 <- f1
df$f2 <- f2

ggplot(df,aes(x=x,y=y))+geom_point()+facet_grid(f1~f2)+stat_smooth(method="lm",se=FALSE)

这产生:

在此处输入图像描述

或者您可以使用该geom_abline()命令设置您自己的截距和斜率。这是一个使用叠加在条形图上的菱形数据集的示例,这可能是您正在寻找的。

在此处输入图像描述

您可以使用此代码段查看仅包含散点图的示例 ggplot(df,aes(x=x,y=y))+geom_point()+facet_grid(f1~f2)+geom_abline(intercept = 0, slope = 1 )

于 2012-09-24T21:02:34.730 回答