Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.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 ggplot为plot添加两条平均线_R_Ggplot2 - Fatal编程技术网

R ggplot为plot添加两条平均线

R ggplot为plot添加两条平均线,r,ggplot2,R,Ggplot2,我有很多追随者 RMSE Model fold 1 0.4164260 lm 1 2 0.5412474 lm 2 3 0.3496156 lm 3 4 0.4431751 lm 4 5 0.4082882 lm 5 6 0.4398985 lm 6 7 0.4506528 lm 7 8 0.4236024 lm 8 9 0.4346417 lm 9

我有很多追随者

     RMSE      Model fold
1  0.4164260    lm    1
2  0.5412474    lm    2
3  0.3496156    lm    3
4  0.4431751    lm    4
5  0.4082882    lm    5
6  0.4398985    lm    6
7  0.4506528    lm    7
8  0.4236024    lm    8
9  0.4346417    lm    9
10 0.4982427    lm   10
11 0.3993842  MARS    1
12 0.5684007  MARS    2
13 0.3487462  MARS    3
14 0.4174607  MARS    4
15 0.3930033  MARS    5
16 0.4456201  MARS    6
17 0.4373339  MARS    7
18 0.4110089  MARS    8
19 0.4249311  MARS    9
20 0.4295155  MARS   10
我的计划如下:

ggplot(df, aes(x=factor(fold), y=RMSE, group=Model, colour=Model)) + geom_line()

我想为这两种型号做平均线。如何实现这一点?

一种方法是创建一个单独的数据框,其中包含以下方法:

library(ggplot2)
library(plyr)
df_means <- ddply(df, "Model", summarise, mean_RMSE = mean(RMSE))
#   Model mean_RMSE
# 1    lm 0.4405790
# 2  MARS 0.4275405

ggplot(df, aes(x=factor(fold), y=RMSE, group=Model, colour=Model)) + 
  geom_line() +
  geom_hline(data=df_means, aes(yintercept=mean_RMSE, color=Model), 
             linetype="dashed")
这样可以防止线路“延伸”:


一种方法是创建一个单独的数据框,其中包含以下方法:

library(ggplot2)
library(plyr)
df_means <- ddply(df, "Model", summarise, mean_RMSE = mean(RMSE))
#   Model mean_RMSE
# 1    lm 0.4405790
# 2  MARS 0.4275405

ggplot(df, aes(x=factor(fold), y=RMSE, group=Model, colour=Model)) + 
  geom_line() +
  geom_hline(data=df_means, aes(yintercept=mean_RMSE, color=Model), 
             linetype="dashed")
这样可以防止线路“延伸”:


我添加了一个平滑,它创建了一个非常奇怪的绘图,是否要将平滑添加到多个绘图?@无效假设尝试将每个问答隔离到一个问题/问题。如果你有一个“新”问题,就把它和问题一起贴出来。话虽如此,平滑器可能没有什么问题——它很可能由每组进行平滑,并且具有非常宽的置信区间,这将使情节看起来“奇怪”。我添加了一个平滑,它创建了一个非常奇怪的图。是否要在多个图中添加平滑?@无效假设尝试将每个问答与一个问题/问题隔离。如果你有一个“新”问题,就把它和问题一起贴出来。话虽如此,平滑器可能没有什么问题——它很可能由每组进行平滑,并且具有非常宽的置信区间,这将使情节看起来“奇怪”。