раздражающая «функция» (или ошибки?) Для RODBC

RODBC - это основная библиотека в R для импорта данных из базы данных в R. RODBC , кажется, имеет способность «угадывать» тип данных столбца, который я нахожу это особенно раздражает.

Я загрузил файл test.xls сюда , или вы можете создать файл xls самостоятельно:

  1. создайте 2 столбца, первый столбец с именем col_a и второй столбец с именем col_b .
  2. введите все, что хотите, в col_a , я набрал буквы в этом столбце для 92 строк
  3. в 92-й строке столбца col_b, введите число там, я набрал «1923», не меняя тип данных (т.е. без использования ')
  4. попробуйте импортировать файл 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 и стал причиной проблемы? Спасибо.

5
задан userJT 18 June 2012 в 16:00
поделиться