RODBC sqlSave () и сопоставление имен столбцов - PullRequest
3 голосов
/ 08 апреля 2010

У меня есть вопрос об использовании sqlSave. Как R отображает данные RODBC во фрейме данных в столбцы таблицы базы данных?

Если у меня есть таблица со столбцами X и Y и фрейм данных со столбцами X и Y, RODBC помещает X в X, а Y в Y (я обнаружил это методом ошибок и следов). Но могу ли я явно сказать R, как сопоставить столбцы data.frame со столбцами таблицы базы данных, как положить A в X и B в Y.

Я довольно новичок в R и думаю, что руководство по RODBC немного загадочно. Я не могу найти пример в Интернете.

Ответы [ 3 ]

2 голосов
/ 08 апреля 2010

Я сейчас делаю это так (возможно, это то, что вы имели в виду):

colnames(dat) <- c("A", "B")
sqlSave(channel, dat, tablename = "tblTest", rownames=FALSE, append=TRUE)

Это работает для меня. Спасибо за вашу помощь.

1 голос
/ 23 августа 2012

У меня серьезные проблемы с использованием sqlSave с банком данных IBM DB2. Я пытаюсь избежать этого, используя sqlQuery вместо того, чтобы создать таблицу с правильным форматированием, а затем использую sqlSave с append=T, чтобы заставить мою таблицу R войти в таблицу базы данных. Это решает множество проблем, таких как форматы даты и числа с плавающей запятой (вместо двойных).

1 голос
/ 08 апреля 2010

Вы должны найти прекрасные руководства по R, которые очень полезны, когда вы начинаете изучать R, и его справочные средства тоже очень хороши.

Если вы начнете с

  help(sqlSave)

вы увидите аргумент colNames. Если указать вектор c("A", "B"), ваш первый столбец data.frame будет помещен в столбец таблицы A и т. Д.

...