这次R的更新需要注意了

写在前面

最近数据分析有些问题,准备往生态领域做一些系统发育工作,多线程是这些工作良好的助手,性能优良的服务器也是必要的。在休息时间发现了R的新版本,简单读了一些,确实会影响之前的代码。

R 3.6.2已发布,并且R 4.0.0的预览版 R 3.6.2是R语言的最新更新,现在可以在Windows,Mac和Linux上下载。

作为次要发行版,R 3.6.2仅对R进行了很小的改进,包括一些新的点图选项,以及在使用运行中位数作为图表上的平滑值时更好地处理缺失值。它还包括一些错误修复和性能改进。

但是R版本4.0.0即将发生重大变化,该版本预计在在2020年2月29日,在R语言20岁生日后不久发布。(2020年CelebRation会议将在哥本哈根举行)R Core团队拥有宣布了一些更改的重点信息,其中包括:

增强的参考计数系统。在R中删除对象时,它通常会将关联的内存释放回操作系统。同样,当我们将x赋值给y。则R不会为其分配新的内存除非咋后续操作中对x进行了修改。但目前的R版本中引用超过2次,这一机制就不会工作了。从R 4.0.0开始,会考虑所有的引用,也就是无限赋值,这将会减少R语言内存占用,更加减少内存。并影响您编写R代码的方式,但是此更改会使R运行更快,这一更新是的R在内存小,运行缓慢的系统上也可以流畅运行。

矩阵和数组类型的规范化。从概念上讲,矩阵只是二维数组。但是当前的R版本在某些情况下对矩阵和二维数组对象的处理方式不同。在R 4.0.0中,消除了这种不一致。

更新了图表的调色板。当前版本的R(R3)的基本图形调色板具有饱和度颜色,其亮度变化很大(例如,黄色不如红色突出显示)。在R 4.0.0中,将使用下面的调色板R4,具有易于区分的一致亮度的颜色,特别是对于色彩障碍的使用者。还有一些其他调色板更加适合ggplot调色方案的定订制。

新的调色板:

阅读了全部的更新,我挑选一下香瓜的展现出来

  • str(x)获取deparse.lines具有默认选项的新选项;x在较大的速度提高。

  • data.matrix() 现在将字符列转换为因子,然后将其转换为整数。

  • file.path() 对会话编码中没有的文件路径提供了一些支持,例如,在非UTF-8语言环境中使用UTF-8输入时,输出被标记为UTF-8。

  • list2DF()从变量列表创建数据框的新功能。

  • t.test()和wilcox.test()的公式接口已扩展为可以处理一个样本和成对的测试。这可能会让我编写成对测试的脚本没什么用了,哈哈哈

  • 修改了head(x, n) and tail()函数

  • wilcox.test()增强功能:在(非配对)两样本情况下,为了鲁棒性一致性,将Inf值视为无限大。添加新参数:tol.root和digits.rank。

  • 现在,print()的默认方法和许多其他方法(通过最终调用默认方法并传递...)使用了新的可选width参数,从而避免了用户设置和重置options(“ width”)的麻烦。

  • win下 md5sum()支持UTF-8文件名

  • round() 优化了对负数的四舍五入运算。

  • t.test()现在还返回标准错误

  • 现在,使用library()和require()可以在附加软件包时对处理搜索路径冲突进行更多控制。 该策略由新的flicts.policy选项控制。

  • kruskal.test()和fligner.test()不再错误地坚持使用数字g组参数

  • match(x,tab)现在适用于长字符向量x

  • glm()和glm.fit获得与lm()永远相同的singular.ok = TRUE参数。 因此,在glm(*,method = <your_own>)中,用户指定的方法也需要接受singular.ok参数。

  • 当结构不是S4对象时,“结构”类的Ops()上的S4方法不再导致无限递归。

  • dist(x,method =“ canberra”)现在使用正确的定义; 仅当x包含不同符号的值时,结果才可能不同。 不适用于0-1数据。

  • 带有非默认分隔符的read.table()现在支持非空白字符后的引号,与scan()匹配。

  • readRDS(textConnection())可用了。

  • fisher.test(*,hybrid = TRUE)现在(再次)将在满足Cochran的条件时使用hybrid方法

关于Microsoft R Open

之前我一直在观望微软的R Open,号称会更快,但是今年的动静似乎很小,随着R4.0.0的发布,不知道微软是什么态度。MAC已经不支持使用Ropen了,这是不是代表微软有可能放弃了?

reference

全部更新:https://cran.r-project.org/doc/manuals/r-devel/NEWS.html

(0)

相关推荐