RODBC является основной библиотекой в R для импорта данных из базы данных в R. RODBC
, кажется, обладает способностью "угадать" тип данных столбца, который мне кажется особенно раздражающим.
Я загрузил файл test.xls
здесь , или вы можете создать файл xls самостоятельно:
- создать 2 столбца, первый столбец с именем
col_a
и второй столбец с именем col_b
.
- наберите что угодно в
col_a
, я набрал буквы в этом столбце для 92 строк
- в 92-й строке col_b, введите там число, я набрал «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
, вы можете изменить 1-й ряд col_b
на число, и оно снова вернется.
Это очень раздражает, так как я не предпочитаю изменять данные вручную. Мне нужно использовать другой пакет для импорта xls, но я не могу найти, чтобы другие пакеты работали так же гладко, как RODBC
(я пробовал gdata
и xlsReadWrite
).
Я что-то пропустил в команде sqlFetch
и вызвал проблему? Спасибо.