ggplot2 ggplot() 分组回归,分组填充柱形图,设置stat_xxx,增添残差回归图层

dplot <- ggplot(diamonds, aes(clarity, fill = cut)) ##按cut类 计数填充
dplot + geom_bar(position = "stack")##条形图 分类
dplot + geom_bar(position = "fill")##等高条形图
dplot + geom_bar(position = "dodge")##并排分类条形图

p <- ggplot(Oxboys, aes(age, height, group = Subject)) + 
  geom_line()

p + geom_smooth(aes(group = Subject), method="lm", se = F)

p + geom_smooth(aes(group = 1), method="lm", size = 2, se = F)

#########################上下相同######################

qplot(age, height, data=Oxboys, group = Subject, geom="line") +
  geom_smooth(method="lm", se = F)
qplot(age, height, data=Oxboys, group = Subject, geom="line") +
  geom_smooth(aes(group = 1), method="lm", size = 2, se = F)
####################################################

qplot(Occasion, height, data=Oxboys, geom="boxplot")
qplot(Occasion, height, data=Oxboys, geom="boxplot") +
 geom_line(aes(group = Subject), colour="#3366FF") #######叠加图层


d <- ggplot(diamonds, aes(carat)) + xlim(0, 3)
d + stat_bin(aes(ymax = ..count..), binwidth = 0.1, geom = "area")
d + stat_bin(
  aes(size = ..density..), binwidth = 0.1, 
  geom = "point", position="identity"
)

stat_bin is suitable only for continuous x data. If your x data is discrete, you probably want to use stat_count.

p <- ggplot(diamonds,aes(carat)) + xlim(0, 3)

p + geom_histogram(position = 'identity',
                   alpha=0.5,
                   aes(y = ..density..,
                       fill = factor(color))) +
  stat_density(geom = 'line',
               position = 'identity',
               aes(colour = factor(color)))

  

model <- lme(height ~ age, data = Oxboys, 
 random = ~ 1 + age | Subject)
oplot <- ggplot(Oxboys, aes(age, height, group = Subject)) + 
  geom_line()

age_grid <- seq(-1, 1, length = 10)
subjects <- unique(Oxboys$Subject)

preds <- expand.grid(age = age_grid, Subject = subjects) ##扩充data frame 形成完整的
preds$height <- predict(model, preds)

oplot + geom_line(data = preds, colour = "#3366FF", size= 0.4)

Oxboys$fitted <- predict(model) ##向Oxboys里添加fitted列
Oxboys$resid <- with(Oxboys, fitted - height) ##with 内调data,后边是进行相应的变量操作

oplot %+% Oxboys + aes(y = resid) + geom_smooth(aes(group=1)) ##同样的oplot采用不同的数据绘图,并更改图层设置,height变为resid 残差,并增添总体回归线

  

转载于:https://www.cnblogs.com/JoAnnal/p/6776119.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值