RODBC是R中的一個主要庫,用於將數據從數據庫導入到R中。RODBC
似乎具有「猜測」列的數據類型的能力,我發現它特別煩人。煩人的「功能」(或錯誤?)爲RODBC
我已經上傳的文件test.xls
here,或者您可以創建一個XLS文件自己:
- 創建2列,第一列名爲
col_a
和第二列命名col_b
。無論你在col_a
喜歡 - 類型,我鍵入的字母在此列92行
- 在col_b的第92位排,鍵入數字在那裏,我輸入的是「1923年」不改變數據類型(即不使用
'
) - 嘗試使用下面的腳本導入xls文件到R:
library(RODBC)
setwd("C:/Users/hke775/Documents/Enoch/MISC/R_problems/RODBC")
channel <- odbcConnectExcel("test.xls",readOnly=TRUE)
dummy.df <- sqlFetch(channel,"Sheet1")
odbcClose(channel)
您會看到在dummy.df
,col_b
全部是NA
,1923
這一列已不見了。
如果您想再次看到1923
,您可以將col_b
的第一行更改爲一個數字,然後它會再次返回。
這是非常煩人的,因爲我不喜歡手動修改數據。我需要使用其他軟件包來執行xls導入,但是我找不到像RODBC
(我試過gdata
和xlsReadWrite
)那樣順利的其他軟件包。
我錯過了sqlFetch
命令中的任何內容,並造成麻煩嗎?謝謝。
你確定你試過gdata嗎?當我使用'DF < - read.xls(「test.xls」)使用gdata包測試了它的測試文件時,它就起作用了。 1923年出現了。 – 2012-01-30 12:33:16
Gdata需要有perl,我不能在我的辦公室安裝它 – lokheart 2012-01-30 12:46:15
如果能夠安裝R的能力,那麼他們也應該安裝Rtools發行版本,因爲R開發所需要的並且它有perl:http ://cran.r-project.org/bin/windows/Rtools/ – 2012-01-30 13:06:12