R 如何使用ggplot绘制由多个列分组的观测值的平均值?
假设我有一个数据帧:R 如何使用ggplot绘制由多个列分组的观测值的平均值?,r,R,假设我有一个数据帧: date ID times value 1 B048669 1 41 2 B048669 1 29 3 B048669 1 37 4 B048669 1 31 5 B048669 1 NA 6 B048669 1 23 1 Y2929021 1 43 2 Y2929021 1 10 3 Y2929021 1 NA 4 Y2929021
date ID times value
1 B048669 1 41
2 B048669 1 29
3 B048669 1 37
4 B048669 1 31
5 B048669 1 NA
6 B048669 1 23
1 Y2929021 1 43
2 Y2929021 1 10
3 Y2929021 1 NA
4 Y2929021 1 NA
5 Y2929021 1 29
6 Y2929021 1 NA
1 Y2929021 2 43
2 Y2929021 2 NA
3 Y2929021 2 15
4 Y2929021 2 3
5 Y2929021 2 29
6 Y2929021 2 NA
我想计算按ID和时间分组的每一天的平均值。然后x=日期,y=值。
第一个点是x=1,y=(41+43+43)/3,第二个点是x=2,y=(29+10+NA)/2。 使用
dplyr
:
df <- df %>%
group_by(ID, times) %>%
summarize(mean = mean(value))
df%
分组依据(ID,次数)%>%
汇总(平均值=平均值)
然后调用带有映射的
ggplot
plotaes(y=median)
和您想要映射的ID
和时间的任何美学。在调用ggplot
之前,您可能需要计算平均值。
使用dplyr
:
df <- df %>%
group_by(ID, times) %>%
summarize(mean = mean(value))
df%
分组依据(ID,次数)%>%
汇总(平均值=平均值)
然后调用ggplot
plot和映射aes(y=median)
以及您想要映射ID
和时间的任何美学对象。您应该使用包dplyr来聚合数据,并使用ggplot2来绘制它(从)。总的来说,tidyverse值得一读,因为它有难以置信的强大和易于使用的软件包。假设您的数据位于数据帧df
:
require(dplyr)
require(ggplot2)
aggregated_df <-
df %>%
group_by(date) %>%
summarize(value = mean(value,na.rm=TRUE))
ggplot(aggregated_df, aes(x = date, y = value)) + geom_col()
require(dplyr)
需要(ggplot2)
聚合_df%
分组单位(日期)%>%
汇总(值=平均值(值,na.rm=真))
ggplot(聚合的df,aes(x=日期,y=值))+geom\U col()
默认绘图并不特别吸引人,但您可以根据自己的喜好修改样式:
您应该使用软件包dplyr来聚合数据,并使用ggplot2来绘制数据(从)。总的来说,tidyverse值得一读,因为它有难以置信的强大和易于使用的软件包。假设您的数据位于数据帧df
:
require(dplyr)
require(ggplot2)
aggregated_df <-
df %>%
group_by(date) %>%
summarize(value = mean(value,na.rm=TRUE))
ggplot(aggregated_df, aes(x = date, y = value)) + geom_col()
require(dplyr)
需要(ggplot2)
聚合_df%
分组单位(日期)%>%
汇总(值=平均值(值,na.rm=真))
ggplot(聚合的df,aes(x=日期,y=值))+geom\U col()
默认绘图并不特别吸引人,但您可以根据自己的喜好修改样式:
从您的示例输出中,我看不出ID
和时间
有什么关系DF%>%groupby(date)%%>%summary(x=date,y=mean(value,na.rm=TRUE))
@StephenHenderson你是对的,我犯了一个错误。从你的示例输出中,我根本看不出ID
和时间
有什么关系DF%>%group_by(date)%%>%summary(x=date,y=mean(value,na.rm=TRUE))
@StephenHenderson你是对的,我犯了一个错误。这不会产生上述输出。不清楚示例数据或描述是否有缺陷。抱歉,我弄错了。我想要的答案在上面,谢谢!这不会产生上述输出。不清楚示例数据或描述是否有缺陷。抱歉,我弄错了。我想要的答案在上面,谢谢!