Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何规格化使用geom=”绘制的不同曲线;“步骤”;使用stat_摘要时_R_Ggplot2_Data Visualization - Fatal编程技术网

R 如何规格化使用geom=”绘制的不同曲线;“步骤”;使用stat_摘要时

R 如何规格化使用geom=”绘制的不同曲线;“步骤”;使用stat_摘要时,r,ggplot2,data-visualization,R,Ggplot2,Data Visualization,这是我的密码。数据集是人工生成的,以模拟类似于我实际问题的数据 代码: 库(ggplot2) 数据集1据我所知,stat_summary并不意味着同时对x和y的所有值进行操作,因此严格来说,在ggplot中不可能进行这种类型的每组汇总。在这种情况下,通常最好提前计算总结,然后绘制总结。使用dplyr简化摘要: library(dplyr) DataSet <- DataSet %>% group_by(Cat, Bin) %>% summarize(Value =

这是我的密码。数据集是人工生成的,以模拟类似于我实际问题的数据

代码:

库(ggplot2)

数据集1据我所知,
stat_summary
并不意味着同时对
x
y
的所有值进行操作,因此严格来说,在ggplot中不可能进行这种类型的每组汇总。在这种情况下,通常最好提前计算总结,然后绘制总结。使用dplyr简化摘要:

library(dplyr)

DataSet <- DataSet %>% 
  group_by(Cat, Bin) %>% 
  summarize(Value = sum(Value)) %>% 
  group_by(Cat) %>% 
  mutate(Value = Value / sum(Value))

d <- ggplot(data = DataSet, aes(Bin, Value, color = Cat))
d + stat_summary(fun.y = mean, geom = 'step', size = 1)
库(dplyr)
数据集%
分组依据(类别、Bin)%>%
汇总(值=总和(值))%>%
分组依据(类别)%>%
变异(值=值/和(值))

d非常感谢!这正是我想要的。不过,我确实有几个问题:1。你使用的是fun.y=平均值,因为只有一个值,对吗?fun.y=平均值或总和是否相同?2.如果您有多个cat列,如cat1、cat2等,并且您希望按cat1和cat2区分颜色和面,那么会是这样的:
DataSet%groupu by(cat1、cat2、Bin)%%>%summary(Value=sum(Value))%%>%groupu by(cat1、cat2)%%>%mutate(Value=Value/sum(Value))d
library(dplyr)

DataSet <- DataSet %>% 
  group_by(Cat, Bin) %>% 
  summarize(Value = sum(Value)) %>% 
  group_by(Cat) %>% 
  mutate(Value = Value / sum(Value))

d <- ggplot(data = DataSet, aes(Bin, Value, color = Cat))
d + stat_summary(fun.y = mean, geom = 'step', size = 1)