製表符分隔的文本文件,它實際上是(使用BCP)一個數據庫表中的一個出口,是形式的(前5分列):正確地讀出(阿爾法)的數值字段爲R
102 1 01 e113c 3224.96 12
102 1 01 e185 101127.25 12
102 2 01 e185 176417.90 12
102A 3 01 e185 26261.03 12
我試圖像
data <- read.delim("C:\\test.txt", header = FALSE, sep = "\t")
的問題是,在第三列這實際上是一個varchar字段(字母數字)被錯誤地讀取爲整數(因爲有在整個列中沒有字母)的命令將其導入作爲R前導零點消失。當我使用odbcConnect直接從數據庫導入數據時,發生了同樣的情況。該列再次被讀爲整數。
str(data)
$ code: int 1 1 1 1 1 1 6 1 1 8 ...
如何導入這樣的數據集R中正確,以便能夠安全地重新填充該數據庫表,做了一些數據操作之後?
編輯
我沒有將它添加在read.delim
colClasses = c("factor","integer","factor","factor","numeric","character","factor","factor","factor","factor","integer","character","factor")
以下參數,你會建議爲VARCHAR領域 「字符」 或 「因素」?
可以使用「字符」日期時間的人嗎?
我應該怎麼做才能夠讀取像這樣的540912.68999999994這樣的數字字段,而不是540912.69?
我想一個-as自動爲possible-創造,colClasses
載體,這取決於在相關表格的架構中定義的數據類型。
如果日期處於'%Y-%m-%d'或'%Y /%m /%d'格式,日期可以作爲'Date'或'POSIXct'處理。 – Marek 2010-04-29 10:20:58
@Marek:謝謝,但是......看起來它們不是: charToDate(x)中的錯誤: 字符串不是標準的明確格式。 as.POSIXlt.character(x,tz,...)中的錯誤: 字符串不是標準的明確格式。當我使用「角色」時,我沒有問題。 – 2010-04-29 10:25:00
你可以搜索是否有可能在bcp下設置日期格式(這是本地依賴於我認爲的默認值) – Marek 2010-04-29 11:43:29