tidyverse 的雄心的最佳载体应该是一门新的语言, 而非几个 R 包.
打个比方, tidyverse 觉得自己在 "改良", 但是有 "改革" 的趋势. 这种冲突可能会有分裂 R 的风险, 或者陷入不上不下的境地.
具体到 tidyverse 的包, 我认为可以从人群去分析. 有三类人群:
- 完全的 R 初学者
- 熟练的 R 使用者
- R 的开发者
对于第一类人, tidyverse 有积极的 "拉顾客" 的作用. 早年我完全没学 R 的时候, 就知道 ggplot 作图很好看. 初学者并不知道, 如果学好 base R, 理论上也能设计出好看的图. 相辅相成的, 还有 Hadley 的 devtools, R Packages, Advanced R 等工作, 很有早期争取用户的作用.
对于第二类人, 只要能用好 Google, 基本上是哪个工具好用用啥.
对于第三类人, 有个维护成本的权衡. 如果自己花一些时间就能写需要的工具, 那何必依赖别人的包呢?
从以上分析可以看出, tidyverse 有一定分裂 R 用户的风险. 早期被它吸引, 但随着能力的发展, 可能会越来越抛弃它. 相比之下, R Markdown 就没有这种特点, 不同的用户都需要.
所以回到开头, tidyverse 的定位应该是开发一门新的语言, 类似 Quarto, 而不是改良 R.
但是话这么说, 我个人是欣赏 tidyverse 的美学或设计取向的. 我自己设计的 R 包也使用了类似 ggplot 的加法的语法. 但可能 tidyverse 对我来说越来越更像是产品, 而非工具. 改良派可能需要找到一条发扬自己美学取向, 但不分裂 R 的道路. 一种思路是开发新的工具, 探索新的领域, 在那些领域里发扬自己的美学, 而不是改良已有领域, 造成冲突.