在R中绘制不同标准下各种模型的等级

时间:2015-12-03 12:11:30

标签: r plot rank

我有这样的数据:

        RMSE  MAE MAPE   CDC
GARCH   1      2   2     3      
eGARCH  2      1   3     2 
csGARCH 3      3   4     1
apGARCH 4      4   1     4

GARCH,eGARCH,..,apGARCH是各种模型,它们按RMSE,MAE,MAPE和CDC四个标准进行排名。我想在单个图中绘制这些数据,以便用户可以通过查看图来了解各种模型的等级。实际上我有6个模型和5个标准。因此,读者查看表格非常麻烦。因此,我想要一些可视化技术来绘制这些类型的数据,以便可以很容易地理解哪个模型在不同标准下具有最高等级。

谢谢

2 个答案:

答案 0 :(得分:1)

以下是使用heatmap的解决方案:

heatmap(dd,Rowv=NA,Colv=NA,margins=c(9,9))

enter image description here

如果你对数据的重新排序没问题,你可以这样做:

heatmap(dd,margins=c(9,9))

enter image description here

请注意,margins=c(9,9)刚刚使用,因此图表适合我的屏幕。 更重要的是,dd应该是一个矩阵。

dd<-structure(c(1L, 2L, 3L, 4L, 2L, 1L, 3L, 4L, 2L, 3L, 4L, 1L, 3L, 
2L, 1L, 4L), .Dim = c(4L, 4L), .Dimnames = list(c("GARCH", "eGARCH", 
"csGARCH", "apGARCH"), c("RMSE", "MAE", "MAPE", "CDC")))

答案 1 :(得分:1)

由于您没有庞大的数据集,如何为每个模型创建一个条形图,每个条形图都是标准的值

library(tidyr)
library(ggplot2)

df$model <- row.names(df)
df <- gather(df,criteria,value,-model)


ggplot(df,aes(x=criteria,y=value,fill=criteria)) + facet_wrap(~model) + 
        geom_bar(stat="identity",position="dodge")

这将创建以下情节enter image description here