如何在 R 中的 read.csv(或其他读取函数)中“关闭”科学记数法?

Posted

技术标签:

【中文标题】如何在 R 中的 read.csv(或其他读取函数)中“关闭”科学记数法?【英文标题】:How to "turn off" scientific notation in read.csv (or other read functions) in R? 【发布时间】:2016-01-20 19:03:51 【问题描述】:

我有一个“.csv”数据文件,我想将其读入 R 并转换为数据框。数据文件的其中一列包含 9 位产品代码,它是数字和字符的混合,或者只是数字。例如:

214E1100
213E1200
3151E100
293JS941
29EKS0941
80129849
29012841
29310941

我一直在使用read.csv 来读取这个数据文件。 问题出现在“E”字符被数字夹在中间的值上。即

213E1200
3151E100

R 将其读取为数字,并在读入数据后将其转换为指数形式 213E+12003.151E+103。我尝试将 colClasses 设置为 "character",因此它将所有内容都作为字符读取 即使用read.csv("DATA.csv", colClasses = "character") 但问题仍然存在。

有没有办法关闭科学记数法,所以 R 只是将整个数据集(或只是这一列)作为字符/字符串读取,而不会将其转换为数字?我知道write.csv 有办法做到这一点,但我找不到read.csv 的任何解决方案。

我将不胜感激任何关于此的建议!

【问题讨论】:

【参考方案1】:

如果您输入 ?read.csvcolClasses 上的文档会说:“为列假定的类的向量。必要时回收。”因此,如果您想将所有列作为字符读取,您应该指定colClasses,如下所示:

colClasses=c(rep("character",5)) # 5 here being the number of columns of your data

【讨论】:

以上是关于如何在 R 中的 read.csv(或其他读取函数)中“关闭”科学记数法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在R中导入CSV文件? [关闭]

如何从字符向量中解析 CSV 数据以提取数据框?

R语言中的中文乱码问题总结

有没有办法使用 read.csv 从字符串值而不是 R 中的文件读取?

R语言如何实现K最近邻算法?

读取缺少逗号的 .csv 文件。碱基R