Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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如何可视化此分类百分比数据?_R_Percentage_Visualize - Fatal编程技术网

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

R如何可视化此分类百分比数据?,r,percentage,visualize,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") 每一行显示一个表格中归因于原

我有以下矩阵数据,列中按损失原因列出了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")
每一行显示一个表格中归因于原因的损失百分比。例如,FormA中74%的损失是由风损失造成的。每行加起来等于100

问题:请为每行提供除饼图以外的可视化方法,例如:

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

对这些百分比的评论是,尽管一些数字看起来可能很小,但它们相应的基本美元金额仍然很大且可信。我想通过可视化传达的一个更突出的见解是,由于所有这些不同的风险,尤其是“较小”的风险,每种保单形式的损失是如何相互比较的,不要被
FormA
风损失中占主导地位这一事实所蒙蔽

我建议您重组数据。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()
#重新构造数据
图书馆(E2)

数据
pie(unlist(test[1,]))
确实有效(错误消息不是特别有用!)我认为OP可能能够
reforme2::melt()
将其数据转换为适当的形式。@user3301853我喜欢你的绘图,尤其是第三个
ggplot(数据,aes(变量,值,颜色=形式,组=形式))+geom_point()
,因为它似乎传达了这样一个信息:虽然
FormA
由于
风造成的损失比例较高,但由于其他原因造成的损失比例较低,这是我想让图表的浏览者容易看到的。@精算师太棒了!如果您接受此答案,请记住单击复选框,以便其他人可以看到您的问题已得到解决。
#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()