【问题标题】:How to "turn off" scientific notation in read.csv (or other read functions) in R?如何在 R 中的 read.csv(或其他读取函数)中“关闭”科学记数法?
【发布时间】: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 的任何解决方案。

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

【问题讨论】:

    标签: r csv scientific-notation read.csv


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 2013-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多