2016-01-20 112 views
1

我有一個「.csv」數據文件,我想讀入R並轉換成數據幀。數據文件的其中一列包含9位產品代碼,可以是數字和字符的混合,也可以是數字。例如:如何在R中的read.csv(或其他讀取函數)中關閉科學記數法?

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的任何解決方案。

我將不勝感激任何意見!

回答

2

如果您在?read.csv輸入,文件上說colClasses:「A 矢量類被假定列回收的必要。」因此,如果您想將所有列讀作字符,則應指定colClasses,如下所示:

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