ggplot 为绘图添加两条平均线
ggplot add two mean lines for plot
我关注了
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")
您还可以使用:geom_line()
和 "stat" 来绘制群体审美的方法(尽管您的控制力会降低):
ggplot(df, aes(x=factor(fold), y=RMSE, group=Model, colour=Model)) +
geom_line() +
geom_line(stat="hline", yintercept="mean", linetype="dashed")
这保留了来自 "extending" 的行:
我关注了
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")
您还可以使用:geom_line()
和 "stat" 来绘制群体审美的方法(尽管您的控制力会降低):
ggplot(df, aes(x=factor(fold), y=RMSE, group=Model, colour=Model)) +
geom_line() +
geom_line(stat="hline", yintercept="mean", linetype="dashed")
这保留了来自 "extending" 的行: