cosname / cosx.org

统计之都主站
https://cosx.org
MIT License
265 stars 239 forks source link

投稿:地区分布图及其应用 黄湘云 #1027

Closed XiangyunHuang closed 2 years ago

XiangyunHuang commented 2 years ago

非常感谢您的PR, 如果您是在为主站投稿, 请将PR的标题改为"投稿:标题+作者的形式",如: "投稿: 数据通灵术 杜亚磊" 并保留下面的内容.

至此,投稿部分的工作结束

投稿指南在这里,有任何问题,可以直接在PR留言,其他问题请联系: editor@cos.name。

XiangyunHuang commented 2 years ago

@yihui 本文涉及的静态图片大部分都 MB 级,xfun::tinify 真是太强大了,优化效果极好,目前 tinypng每个月有 500 次免费压缩的额度,对个人写博客用足够了。我把自己博客里的图片都压缩了一遍,大瘦身,感谢!

XiangyunHuang commented 2 years ago

我已邀请沥今 @zhanglj37 来审稿

XiangyunHuang commented 2 years ago

谢谢 @zhanglj37 的审稿,提供了很多宝贵的意见,我先把「其他表达细节」回复一下。

  1. 其他表达细节
    1. BI 指的是 Business Intelligence 商业智能,正文改成了「对标鼎鼎大名的收费 BI(Business Intelligence) 工具」。
    2. 图引用串地方了,已修改。
    3. 破折号改为句号。后面改为

      大家应该都有这样一种感觉,将一张只有中国国家边界的地图放在面前,你不一定能清晰地指出每一个省份的位置,但只要画上各个省的边界,你肯定能指出更多的省份位置,类似地,从省到市、乃至区县,边界给了我们很好的参照。

    4. 这一句还真不好删,「试错」二字含了很多画图时间。我在这句后面加了一个注记:

      除了七个主要的绘图步骤,在图形配色、长宽尺寸、字体大小等方面都需要打磨,这是相当花费时间的。

    5. 这里的城镇是指美国的 county,中文直译过来是县,粗略地说,从层级上看,应该相当于咱们的地级市,从大小数量上看,相当于咱们的县,为了防止和咱们的县混淆,就模糊了一下,叫城镇。这一段,我都不知道我说了啥,之前看日本的行政层级也把我弄晕了。不知道是否可以请 @yihui 帮忙给个合适的词?后面我全文再修改一下。
    6. 「家庭收入中位数」确实有歧义,我在本节开头详加说明,之后都简称「家庭收入」,这样去掉歧义,描述也方便。
    7. 在「环境信息」一节里对源文档位置链接说明了一下:

      点击本页面右上角「编辑本页」即可跳转至源文件

zhanglj37 commented 2 years ago

7. 除了城镇

啊我理解了,不是城镇这个词不好懂,是前后两个对比一时没反应过来,或许可以改为“除了城镇,还有以人口普查单元粒度为单位的地区分布图”?

XiangyunHuang commented 2 years ago
  1. 除了城镇

啊我理解了,不是城镇这个词不好懂,是前后两个对比一时没反应过来,或许可以改为“除了城镇,还有以人口普查单元粒度为单位的地区分布图”?

改成「受上个癌症死亡率地区分布图的启发,除了城镇级别,还有社区普查级别的地区分布图,以描述更加精细的空间分布。」并把后续的「粒度」改为「级别」,尽量通俗点。

yihui commented 2 years ago

5. 这里的城镇是指美国的 county,中文直译过来是县,粗略地说,从层级上看,应该相当于咱们的地级市,从大小数量上看,相当于咱们的县,为了防止和咱们的县混淆,就模糊了一下,叫城镇。这一段,我都不知道我说了啥,之前看日本的行政层级也把我弄晕了。不知道是否可以请 @yihui 帮忙给个合适的词?后面我全文再修改一下。

这个词确实是不好翻译。美国的 county 比中国的县要大(下面可以包含若干个城市),维基上也翻译为“县”,但我感觉用英国的“郡”更恰当。

XiangyunHuang commented 2 years ago

7.6 「家庭收入中位数」全部改为「家庭月收入」,调查时取过去12个月里家庭收入的中位数,可以理解为一个家庭的月收入。

XiangyunHuang commented 2 years ago
  1. [x] 1. 图 6 添加了一个默认情况下的图,形成对比。
  2. [x] 2. 补充转化前后数据集的样子,两排并列展示。
  3. [x] 3. 都已添加。 ggplot2 绘图步骤中,图层层层叠加,步骤拆解比较清晰, lattice 绘图步骤中,选择用什么图形来绘图后,剩余的都是细节调整,没有特别的顺序要说,也是由粗到细,先搞定影响大的,再调整局部小细节,我也已经在文中给了一个大致的步骤。
  4. [x] 4. 收入空间分布的解读,确实还需要再给一些,已添加。
  5. [x] 5. maps 包,lattice 包,ggplot2 包,sf 包等都在小结那分类说明了,整体上分三大类,相关材料看函数帮助或给出的参考文献。
  6. [x] 6. 1 小结部分对 7 种方案的情况分了类,也说明了它们之间的依赖层级,上层高级函数不能直接一步到位的就往下层走。比如 用 latticeExtra 绘图就非常典型,添加图例标题使用了 grid 包,添加州、郡边界线,用了更底层的面板函数 panel.lines。没有哪个是不能做的,只是做的容易否?但凡是要像本文那样深度定制,似乎也没有哪个更容易的,因为都需要知道点、线、多边形、图例、标题等基础元素,就看想要达到什么效果,有些效果已经满意了,比如文中 mapsf 包或 sf 包绘制的图形,那就没必要再深究了。 6.2. 关于作图时间,我个人经验,大约 30% 在主体部分,70% 在细节处理,就代码执行效率,画一幅图耗时很少,即使 tmap 包也就几分钟,如果数据集很大,比如北卡的社区普查级数据,就需要花费一些时间。大部分情况下,代码执行时间比起细节调整花费的时间可以忽略。多说一句,加载 tmap 包后,通过命名空间加载了 54 个包,绘图时将 sf 数据对象内部转化为 sp 数据对象,绘图很慢,这在文中特意点出来了。
XiangyunHuang commented 2 years ago

想请教一下 @yihui ,在美国,你感觉家庭月收入高、中高、中、低水平的划分是什么样的?本意是我想拿这个数字和官方发布的新闻网页里数据,以及从人口调查局拿到的数据对比一下。

XiangyunHuang commented 2 years ago

说起依赖问题,再吐槽一把 tmap 包,将所有薪的、旧的空间数据处理的基础包全给导入了。

> library(tmap)
> sessionInfo()
R version 4.2.0 (2022-04-22)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur/Monterey 10.16

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib

locale:
[1] zh_CN.UTF-8/zh_CN.UTF-8/zh_CN.UTF-8/C/zh_CN.UTF-8/zh_CN.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] tmap_3.3-3

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.8.3       compiler_4.2.0     pillar_1.7.0       RColorBrewer_1.1-3
 [5] base64enc_0.1-3    class_7.3-20       tools_4.2.0        digest_0.6.29     
 [9] lattice_0.20-45    viridisLite_0.4.0  lifecycle_1.0.1    tibble_3.1.7      
[13] png_0.1-7          pkgconfig_2.0.3    rlang_1.0.2        DBI_1.1.2         
[17] cli_3.3.0          crosstalk_1.2.0    parallel_4.2.0     fastmap_1.1.0     
[21] terra_1.5-21       e1071_1.7-9        raster_3.5-15      dplyr_1.0.9       
[25] generics_0.1.2     vctrs_0.4.1        htmlwidgets_1.5.4  classInt_0.4-3    
[29] leaflet_2.1.1      grid_4.2.0         tidyselect_1.1.2   glue_1.6.2        
[33] sf_1.0-7           R6_2.5.1           fansi_1.0.3        XML_3.99-0.9      
[37] sp_1.4-7           purrr_0.3.4        magrittr_2.0.3     codetools_0.2-18  
[41] tmaptools_3.1-1    stars_0.5-5        leafsync_0.1.0     htmltools_0.5.2   
[45] ellipsis_0.3.2     units_0.8-0        dichromat_2.0-0.1  abind_1.4-5       
[49] KernSmooth_2.23-20 utf8_1.2.2         proxy_0.4-26       leafem_0.2.0      
[53] lwgeom_0.2-8       crayon_1.5.1  

可能是为了将绘图的代码风和 ggplot2 对齐,它把 dplyr 相关的 R 包顺便也全给导入了。

yihui commented 2 years ago

想请教一下 @yihui ,在美国,你感觉家庭月收入高、中高、中、低水平的划分是什么样的?

这个得查一查,我自己没什么感觉。

XiangyunHuang commented 2 years ago

想请教一下 @yihui ,在美国,你感觉家庭月收入高、中高、中、低水平的划分是什么样的?

这个得查一查,我自己没什么感觉。

我准备补充全美州、郡级收入分布图,这样一览无余。

XiangyunHuang commented 2 years ago

@zhanglj37 已经按照修改意见都修改了,辛苦抽空再看下。

zhanglj37 commented 2 years ago

我没什么问题了,只有表达上的几处细节

提炼了其间的关联关系,一些绘图经验 -> 关联关系重复,保留一个即可, 这句话改成“总结了不同方案间的关系和一些绘图经验”?

众所周知,后者是新一代更好的工具,因此接下来的示例都将基于 sf 包。感觉众所周知可以删了哈哈

各社区家庭年收入和白人占比相关性比较低,要是相关性到达统计课本里常见的 50%,甚至更高,那社会问题就大发了!结合图 20 也不难看出稳定正向的关系,平均来说,社区的白人占比增加一个百分点,家庭年收入增加 438 美元。 -> “要是..大发了!”感觉可以删掉?家庭年收入增加 438 美元中家庭年收入写成“该地区家庭平均年收入”?

考虑空间因素,R2 肯定要比 0.147 大多了 -> 改成 由此可见,引入地区分布图帮助我们更直观地了解了白人占比和家庭收入的关系 ?

XiangyunHuang commented 2 years ago

谢谢 @zhanglj37 ,已根据反馈修改,审稿修改阶段完成了 🚀

XiangyunHuang commented 2 years ago

未来展望部分,我加一段,感觉这样比较紧扣本文内容

在单变量情形中,已用 7 种绘图方法展示美国各郡年平均癌症死亡率,还可以补充 ggplot2 + ggspatialggplot2 + maps 两种历史方法。

在多变量情形中,对美国社区调查数据,还可以继续做一些拓展分析,比如: