R语言ggplot2画带有置信区间的折线图和分组求均值遇到的一个问题

2020-12-18 17:19:36 浏览数 (1)

今天遇到一个分组求均值的问题,愣是看不出问题出在哪了,大家帮我看看文末的代码是哪里出问题了,或者留言说一下自己分组求均值在R语言里是如何实现的。

折线图通常用来表现数据的变化趋势,比如做果树研究的通常会研究果实在整个发育过程中一些生理生化指标的变化趋势,这个时候就可以选择折线图的方式来展现数据。

首先是构造一份数据集
代码语言:javascript复制
library(tidyverse)
huron <- data.frame(year = 1875:1972, 
                    value = LakeHuron,
                    ci_lower = rnorm(length(LakeHuron),0,1),
                    ci_upper = rnorm(length(LakeHuron),0,1))
R语言ggplot2画图
代码语言:javascript复制
library(ggplot2)
ggplot(huron,aes(year, value))   
  geom_ribbon(aes(ymin = value - ci_lower,
                  ymax = value   ci_upper),
              fill = "steelblue2")   
  geom_line(color = "firebrick",
            size = 1) 
  theme_minimal()

image.png

会遇到提示Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.暂时还不知道是啥意思

今天的笔记主要的记录内容是geom_ribbon()函数,主要作用是可以给折线周围添加一定的阴影区间

今天还遇到一个问题是 R语言里分组计算均值方差等,之前自己都是用dplyr这个包中的group_by()函数加summarise()函数

比如如下的代码

代码语言:javascript复制
df<-data.frame(first=c("A","A","B","B"),
               second=c(1,2,3,4))
library(dplyr)
df%>%
  group_by(first)%>%
  summarise(y=mean(second))

我记得正常应该返回的数据是两行两列

代码语言:javascript复制
first y
A 1.5
B 3.5

但是今天的返回结果一直只有一个数字呢?

代码语言:javascript复制
> df%>%
    group_by(first)%>%
    summarise(y=mean(second))
    y
1 2.5

大家可以看出以上代码有什么问题吗?或者说大家平时做分组求均值方差这类的数据是如何实现的呢?欢迎大家留言帮我解决问题!

0 人点赞