R中不同标准下各种模型的绘图排名
Plotting rank for various models under different criteria in R
我有这样的数据:
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 个标准。所以,reader看table就很麻烦了。因此,我需要一些可视化技术来绘制此类数据,以便可以轻松理解在不同标准下哪个模型具有最高排名。
谢谢
这是一个使用 heatmap
的解决方案:
heatmap(dd,Rowv=NA,Colv=NA,margins=c(9,9))
如果您对数据的重新排序没有问题,您可以这样做:
heatmap(dd,margins=c(9,9))
请注意,刚刚使用了 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")))
既然你没有庞大的数据集,如何为每个模型创建一个条形图,每个条形是一个标准的值
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")
这将创建以下图
我有这样的数据:
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 个标准。所以,reader看table就很麻烦了。因此,我需要一些可视化技术来绘制此类数据,以便可以轻松理解在不同标准下哪个模型具有最高排名。
谢谢
这是一个使用 heatmap
的解决方案:
heatmap(dd,Rowv=NA,Colv=NA,margins=c(9,9))
如果您对数据的重新排序没有问题,您可以这样做:
heatmap(dd,margins=c(9,9))
请注意,刚刚使用了 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")))
既然你没有庞大的数据集,如何为每个模型创建一个条形图,每个条形是一个标准的值
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")
这将创建以下图