Я использую 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-битные величины со знаком).
Временные переменные импортируются / экспортируются как символьные данные, поэтому вам необходимо преобразовать их в ваше любимое представление даты / времени.