回到刚才的页面

背景

今天又看到有人吐槽印度是强奸之国,想想上次这事发酵的时候到现在已经快半年了,当时很多很有“知名度”的节目也是吐槽一地。其实我和乙寅当时就很奇怪印度官员既然已经给出了一组明确的数据,为什么没有人去考察相关的数据,而是直接就上来一顿嘲讽。下面让我们来回顾一下这个事件吧。在网上随便都能搜到那个事件的导火索,比如印度官員:性侵案數量其實全球前四低印度官員:印度強姦案數是世界最低4個國家之一或者来自搜狐的印度女部长:印度属于强奸案最低4个国家之一,大致内容是:

印度婦女及兒童發展部的女部長馬內卡‧甘地(Maneka Gandhi)週一(21日)舉行一場女記者聚會,她在會中表示,印度的強姦案件數量,是世界上最低的4個國家之一,瑞典的案發數第一。

然后网上就出来了各种讨伐文章,在这里列举几个,网上要找的话可谓不一而足。

比如,来自搜狐的: 网友快评:印度强奸案发生率最低 我差点就信了

这个好像还查过资料一样,其中内容不乏:

她说的没有错吧,人家说的强奸率,人家人口基数大啊,一天一万起强奸除以十四亿貌似也只是个小数

替瑞典喊冤“瑞典政府和人民无辜躺枪。

总算知道印度为啥是强奸大国了,因为连那里的女人都不把强奸当回事

其实关于印度是强奸之国的论断很早就有,这里是一个看起来很严肃,做过仔细调研的印度如何沦为"强奸之国"文章,其中不乏煽动性的数字:

数据也证实了这点,根据印度国家犯罪记录局的数据,印度记录在案的强奸案件由1971年的2487起增至2011年的24206起,增长率为873.3%。比较而言,谋杀案件在从1953至2011年的近60年间里的增长率为250%,远不及强奸犯罪率的飙升。 平均下来,在印度每3分钟发生一起针对女性的暴力犯罪,每22分钟就会发生一起强奸案。在印度性犯罪最严重的主要城市新德里,平均每18小时发生一起强奸案,被冠以 “强奸之都”的耻辱称号。

按照一般的理解,作为一个国家的高级官员,说话完全不着边际的可能性是不大的,特别是还列举明确数据的话语。但是如果你真的去查的话,很容易找到的一个条目是中文维基百科的条目,不过不用太多的分析就应该可以发现那个页面的数据是错误的(这个大家自己去分析吧)。所以,我就稍微多检索了一下,很快就能发现联合国药物与犯罪部门公布了性犯罪的相关信息。很容易核对这个表格中的数据和上面文章提供的数据是基本吻合的,应该说也是比较可信的。

分析方法

考虑到不同的国家人口差异比较大,使用每十万人的案件发生数量是比较合理的选择。而像中文维基页面中使用所谓的一个国家每分钟的的案发次数是并不合理的。正是上面说的“人家人口基数大啊,一天一万起强奸除以十四亿貌似也只是个小数”,这话虽然是明显的讽刺,但是确实不加,如果是“一天一千起强奸除以一亿”,不知道这个发言者真的觉得前者比较危险吗?所以我们以下分析的都是每十万人在一年内发生强奸案例的数据。

同时,不同地区之间性犯罪案件的发生件数和登记在案的发生次数也是存在差异的。这一点并不假,特别是在具有“传统美德”的某些国家这个数目更是可能不算小数。但是无疑对于真实的犯案数量和报案数量之间的差异的估计是非常困难的,一个可行的方案可能是认为地理位置和文化相近的区域的这一比例也比较接近。同时,在没有可靠数据的支撑条件下,我们也不应过分夸大这一比例在不同区域的差距。下面让我们开始真正的分析吧!

均值分析

作为标准的分析的第一步,我们先看一下全球的平均水平。几点特征可以注意到,首先每年数据的均值都远过于中位数,其次标准差(SD)对于给定也数据很大,最后整个均值特征量基本是稳定的,没有明显的增长或降低趋势。平均罪案率大概在万分之一。

globalmean <- rape %>% 
  group_by(Year) %>% 
  summarise(mean=round(mean(Events,na.rm=T),2),
            median=median(Events,na.rm=T),
            sd=round(sd(Events,na.rm=T),2))

datatable(globalmean,options = list(pageLength=20))

简单的将以上数据绘图,颜色偏棕的年份方差比较大。

p <- ggplot(globalmean,aes(Year,mean,fill=sd))+geom_bar(stat="identity")+ 
  scale_fill_distiller(palette = "BrBG") +
  ylab("Mean Value") 
p

分布分析

第二步,我们考察一下各年的具体分布情况。首先是用boxplot来看一下离群值的情况。可以看到每年都有一些很大的离群值。

p <- ggplot(rape,aes(Year,Events,fill=Year)) +
  theme(legend.position = "none") +
  scale_fill_brewer(palette = "Paired")

ggplotly(p + geom_boxplot(na.rm = T))

boxplot不能看出分布,所以我们使用violinplot来查看一下每年的分布情况:

p2 <- p + geom_violin(na.rm = T)
ggplotly(p2)