我最近从 R 3.5.1 更新到 R 4.0.0。的行为read.csv
似乎已经改变 - 当我在 R 4.0.0 中加载 .csv 文件时,不会自动检测因素,而是被识别为字符。我还在我的机器上运行 3.5.1,当使用相同的代码加载 3.5.1 中的相同文件时,因子被识别为因子。这有点不太理想。
有什么建议么?
我正在运行 Windows 10 Pro 并在 Excel 2013 中创建 .csv 文件。
正如 Ronak Shah 在对您的问题的评论中所说,R 4.0.0 改变了默认行为read.table()
(所以它的包装包括read.csv()
) 处理字符向量。关于这个问题已经争论了很长时间,但基本上stringsAsFactors == T
自 R 诞生以来,该设置就是默认设置,因为它有助于节省内存,因为 R 中因子变量的实现方式(本质上它们是一个整数向量,上面添加了因子级别信息)。如今,这样做的理由越来越少了,因为内存更加丰富,而且这个选项经常会产生意想不到的副作用。
您可以阅读有关您的特定问题以及 R 中向量的其他特性的更多信息第3章Hadley Wickham 的《Advanced R》。他在其中发表了两篇文章,详细介绍了默认行为为何如此的原因。Here是一并且here是另一个。如果您已经有一些 R 经验,我还建议您查看 Hadley 的书,它对我学习该语言的一些不太明显的功能有很大帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)