如何在 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+1200
或 3.151E+103
。我尝试将 colClasses
设置为 "character"
,因此它将所有内容都作为字符读取
即使用read.csv("DATA.csv", colClasses = "character")
但问题仍然存在。
有没有办法关闭科学记数法,所以 R 只是将整个数据集(或只是这一列)作为字符/字符串读取,而不会将其转换为数字?我知道write.csv
有办法做到这一点,但我找不到read.csv
的任何解决方案。
我将不胜感激任何关于此的建议!
【问题讨论】:
【参考方案1】:如果您输入 ?read.csv
,colClasses
上的文档会说:“为列假定的类的向量。必要时回收。”因此,如果您想将所有列作为字符读取,您应该指定colClasses
,如下所示:
colClasses=c(rep("character",5)) # 5 here being the number of columns of your data
【讨论】:
以上是关于如何在 R 中的 read.csv(或其他读取函数)中“关闭”科学记数法?的主要内容,如果未能解决你的问题,请参考以下文章