• 新鲜事R语言
  • 诚邀广大R语言、数据可视化爱好者和我们一起搬迁升级谢益辉著作《现代统计图形》

22 天 后

@yihui @dapengde @所有关心和帮助本书变得更好的朋友们

我已经想好了,仗着自己对书籍的控制,凡是净土代码一律替换或注释掉(最终也要替换掉),凡是提交含有净土代码的 PR 一律不合并!

    举个栗子

    library(tidyverse)
    death_tidy <- death %>%
      as.data.frame() %>%
      rownames_to_column(var = "population_group") %>%
      pivot_longer(cols = -population_group, names_to = "age", values_to = "count") %>%
      mutate(
        age = fct_inorder(factor(age)),
        population_group = factor(
          population_group,
          levels = c("Rural Male", "Rural Female", "Urban Male", "Urban Female")
        )
      )

    会被替换为

    reshape_VADeaths <- transform(
      expand.grid(
        sex = colnames(VADeaths),
        age = rownames(VADeaths)
      ),
      rates = as.vector(t(VADeaths))
    )

    本人水平有限,一方面看不懂净土代码,另一方面也很是怀疑其稳定性,为了后续维护计,我放弃了书籍中所有净土代码,一律会被替换掉,类似上面的例子。

    Cloud2016 上帝的归上帝,凯撒的归凯撒。

    此前我提议过三步走,以现有版本里的“道”为芭比娃娃的“体”,保持其稳定性,然后换不同的衣服(“用”),各自独立维护,也许比较可行。

      dapengde 那新开一个分支就好了,很简单,不同的娃娃在不同的分支上,我主要负责 master 分支的维护,你来负责各条线上的芭比娃娃?

        把 tidyverse 相关的代码替换掉以后,又可以运行了 😂 😂

          Cloud2016

          你链那篇谭显英的博客提到的mutate_at 的问题我也碰到过,一年前写的dplyr相关代码一编译出错, 结果发现语法变了。

          感觉向后兼容性真是开发过程里很重要的问题。前几天看了python2/3 为什么分家的博客,大概就是引入了不向后兼容的变化(比如print加括号),现在说是2020年py2不再维护寿终正寝,但library下载统计显示40%的下载量依然基于2.7。python2/3生生把社区割裂开我觉得算是软件史上因为引入不兼容改变走过的最长弯路了😂

          但是一昧向后兼容也会导致积重难返,很多东西明知有更好的做法但为了不破坏下游的依赖也只能将”错”就”错”,比如r里stringasfactor=TRUE, R选项默认保存当前工作环境的image等等…

          总之我很同意谭那篇博客里提的“不要在生产环境里用净土宗”,好多基础性的语法都在变来变去的话,在我看来是跟鼓吹多年的reproducible research背道而驰的。

            Cloud2016 我恐怕 git 的功力不够,做不到维护一个或多个分支。鉴于眼下只有你老哥一个在折腾,我建议走一步看一步,搁置争议,共同开发吧。

            tctcab 关于兼容翻车的问题,perl 6 改名叫 Raku 也是个榜样。

            7 个月 后
            5 天 后

            论坛萌新,在看电子版,期待这本书出版啊!

            期待出版,最近也在追这本书,有种豁然开朗的感觉,没想到baseR的绘图也可以如此让人沉迷

              F-test 流行的东西之所以流行应该都有两方面原因:质量高、广告好。问题就是质量与广告各占多大比例,就很难知道了。R 的基础作图系统不那么流行(至少现在显然不流行了),广告力量太弱肯定是原因之一;质量方面它有它明显的弱点,但也不是那么不堪。到时候我会修订一下序言,把这些讲清楚。