R:使用geom_ribbon对geom_线图中的置信区间进行着色
该项目:我目前正在尝试构建一个闪亮的应用程序,允许用户生成图表,在图表中他们可以修改检查的时间段,选择要按时间段和感兴趣的国家查看的变量 我目前构建的应用程序没有任何问题,但我正在努力增加置信区间。我相信这是因为数据已经从一种长格式转变为一种宽格式。见以下随机数据样本:R:使用geom_ribbon对geom_线图中的置信区间进行着色,r,ggplot2,shiny,dplyr,reshape2,R,Ggplot2,Shiny,Dplyr,Reshape2,该项目:我目前正在尝试构建一个闪亮的应用程序,允许用户生成图表,在图表中他们可以修改检查的时间段,选择要按时间段和感兴趣的国家查看的变量 我目前构建的应用程序没有任何问题,但我正在努力增加置信区间。我相信这是因为数据已经从一种长格式转变为一种宽格式。见以下随机数据样本: country_name year variable value variable_low value_low variable_high value_high Urugu
country_name year variable value variable_low value_low variable_high value_high
Uruguay 2002 v2x_delibdem 0.851 v2x_partipdem_codelow 0.724 v2x_partipdem_codehigh 0.796
Pakistan 2014 v2x_delibdem 0.248 v2x_egaldem_codelow 0.119 v2x_libdem_codehigh 0.312
Costa Rica 1992 v2x_delibdem 0.864 v2x_polyarchy_codelow 0.882 v2x_partipdem_codehigh 0.691
Botswana 2005 v2x_delibdem 0.527 v2x_libdem_codelow 0.518 v2x_libdem_codehigh 0.626
Brazil 1979 v2x_egaldem 0.116 v2x_partipdem_codelow 0.147 v2x_delibdem_codehigh 0.105
Uruguay 1975 v2x_egaldem 0.207 v2x_egaldem_codelow 0.178 v2x_polyarchy_codehigh 0.117
Niger 1970 v2x_libdem 0.154 v2x_egaldem_codelow 0.149 v2x_libdem_codehigh 0.176
Romania 2009 v2x_partipdem 0.478 v2x_partipdem_codelow 0.422 v2x_polyarchy_codehigh 0.717
Thailand 1997 v2x_partipdem 0.338 v2x_polyarchy_codelow 0.481 v2x_polyarchy_codehigh 0.617
Peru 1975 v2x_polyarchy 0.104 v2x_egaldem_codelow 0.076 v2x_partipdem_codehigh 0.078
值_low和值_high是变量_low和变量_high的熔化值。这些是置信区间的上界和下界
运行此ggplot2代码时:
myColors <- brewer.pal(5,"Set1")
names(myColors) <- levels(dat$variable)
colScale <- scale_colour_manual(name = "Variable",values = myColors)
ggplot(filter(dat, country_name == "Argentina", variable %in%c("v2x_delibdem","v2x_egaldem"))) +
geom_line(aes(x=year, y=value, group = variable, color = variable), size = 1)+
geom_point(aes(x=year, y=value, group = variable, color = variable), size = 3)+
geom_ribbon(aes(x=year, ymin=value_low, ymax=value_high, group = variable, color = variable), linetype=2, alpha=0.1)+
colScale +
scale_x_continuous(breaks=pretty_breaks(n=10),limits=c(1970,2015))+
scale_y_continuous("Index Score", breaks = scales::pretty_breaks(n = 10),limits=c(0, 1))+
theme(text = element_text(size=15))
myColors Hi@Joe,我想我可能知道发生了什么,你能把geom_ribbon的aes放入fill=variable
,它不会修复它,但它会帮助我查看错误。查看你的数据也有错误,检查第一行的值是否为0.851,但是区间值都低于0.724和0.796Hi@derekcorran,@derekcorran你是对的。这是一个数据错误。我转换变量的方式将高低变量放在了错误的位置。我会纠正的。谢谢@Joe,在我看来,这个情节正在做它必须做的事情,它的值似乎是关闭的(检查我之前的评论)。不幸的是,阿根廷值不在您给出的示例中,但在数据中,我看到至少4行值不在高低值1、6、9和10中显示的CI内。在阿根廷检查delbdem的值,它们可能是图表或紧挨着notieHi@Joe,我想我可能知道发生了什么,你能把geom_ribbon的aesfill=variable
,它不会修复它,但它会帮助我看看有什么错误。查看你的数据也有错误,检查你的第一行,该值为0.851,但区间值均低于0.724和0.796Hi@derekcorran,@derekcorran您是对的。这是一个数据错误。我转换变量的方式将高低变量放在了错误的位置。我会纠正的。谢谢@Joe,在我看来,这个情节正在做它必须做的事情,它的值似乎是关闭的(检查我之前的评论)。不幸的是,阿根廷值不在您给出的示例中,但在数据中,我看到至少4行值不在高低值1、6、9和10中显示的CI内。检查阿根廷的delbdem值,它们可能是图表的值,也可能是紧靠notie的值