R如何可视化此分类百分比数据?

时间:2014-12-03 15:35:50

标签: r percentage visualize

我有以下矩阵数据,3列表中的损失原因在列中:

test=as.data.frame(matrix(c(74,10,4,4,2,6,57,19,4,8,2,10,54,19,6,8,2,11),nrow=3,byrow=T))
names(test) <- c("Wind","Water","Fire","Theft","Liab","OtherPD")
row.names(test)  <- c("FormA","FormB","FormC")

数据看起来像这样:

      Wind Water Fire Theft Liab OtherPD
FormA   74    10    4     4    2       6
FormB   57    19    4     8    2      10
FormC   54    19    6     8    2      11

每一行显示表格中归因于原因的损失百分比。例如,FormA中74%的损失是由于风的损失。每行最多可加100个。

问题:请为每行显示一种可视化除饼图之外的方法,例如:

pie(unlist(test[1,]),labels=c("Wind","Water","Fire","Theft","Liab","OtherPD"),main= "FormA")

对百分比的评论是,虽然有些数字可能看起来很小,但它们相应的潜在美元数额仍然很重要且可信。我想通过可视化传达的一个更突出的见解是,由于所有这些不同的危险,每个政策形式如何相互比较,特别是“较小的”,不要被{{1}的事实蒙蔽。 } FormA损失的主导比例。

1 个答案:

答案 0 :(得分:2)

我建议您重组数据。 ggplot有一些不错的图表。

#restructure data
library(reshape2)
data <- melt(test)
data$Form <- c("FormA","FormB","FormC")
#plot with ggplot2
library(ggplot2)
ggplot(data, aes(variable, value)) + geom_bar(stat="identity") + facet_wrap(~ Form)
ggplot(data, aes(variable, value)) + geom_point() + facet_wrap(~ Form)
ggplot(data, aes(variable, value,colour=Form, group=Form)) + geom_point()