Обработка типов полей при взаимодействии с базой данных с R

Я использую RMySQL и базу данных MySQL для хранения своих наборов данных. Иногда данные пересматриваются, или я также сохраняю результаты обратно в базу данных. Короче говоря, в моем случае между R и базой данных существует некоторое взаимодействие.

В большинстве случаев я использую удобные функции, такие как dbWriteTable и dbReadTable , для записи и чтения моих данных. К сожалению, они просто полностью игнорируют типы данных R и типы полей MySQL. Я имею в виду, что я ожидал, что поля даты MySQL окажутся в классе Date или POSIX . С другой стороны, я думаю, что эти классы R хранятся как несколько соответствующий тип поля MySQL. Это означает, что дата не должна быть символьной - здесь я не собираюсь различать числа с плавающей запятой и двойные. .

Еще пробовал использовать dbGetQuery - там тот же результат. Есть ли что-то, что я полностью упустил при чтении руководства, или это просто невозможно (пока) в этих пакетах? Что бы сделать приятной работой?

РЕДАКТИРОВАТЬ: @mdsummer Я попытался найти что-то еще в документации, но нашел только эти разочаровывающие строки: `Таблицы MySQL считываются в R как data.frames, но без преобразования символов или логических данных в факторы. Аналогичным образом при экспорте data.frames коэффициенты экспортируются как символьные векторы.

Целочисленные столбцы обычно импортируются как целочисленные векторы R, за исключением таких случаев, как BIGINT или UNSIGNED INTEGER, которые приводятся к векторам двойной точности R, чтобы избежать усечения (в настоящее время R's целые числа - это 32-битные величины со знаком).

Временные переменные импортируются / экспортируются как символьные данные, поэтому вам необходимо преобразовать их в ваше любимое представление даты / времени.

10
задан Matt Bannert 23 February 2011 в 22:09
поделиться