我有一个数据集,其中包含世界上所有国家/地区的人口,并将其分为七个区域。
中国和印度是数据集中的异常值,因为他们的人口都是> 10亿人。
我尝试使用对数尺度按区域绘制人口,但是当我这样做时,我的ggplot图像中没有显示中国。这是我正在使用的代码:
ggplot(nationsCombImputed, aes(y=population,x=region)) +
geom_boxplot() +
scale_y_continuous(trans = "log10")
生成以下boxplot。如您所见,我希望使用对数标度来绘制这些种群。
正如您所看到的,东亚和太平洋地区没有异常值。异常值定义为大于1.5 *四分位数范围,其中IQR计算为29338577.25,这意味着以下国家被视为异常值,但未在框图中显示:
中国 印度尼西亚 日本 韩国,众议员 缅甸 马来西亚 菲律宾 泰国 越南
我正在使用的数据是{CSV}格式的here,如果有人可以解释如何使用对数刻度和ggplot两种方法来解决这些异常值,我将非常感激。
答案 0 :(得分:0)
如罗宾(Robin)所述,coord_trans(y="log10")
应该执行您感兴趣的事情。
有关coord_trans()和比例变换的区别的更多信息,请参见下面的链接。
what is the difference between scale transformation and coordinate system transformation