Я не могу создать пример кода, потому что я не совсем уверен, в чем проблема, и моя фактическая проблема довольно востребована. Тем не менее, это похоже на родовую проблему, которую, возможно, кто-то видел раньше.Невозможно записать фрейм данных в базу данных
В основном я построение 3-й различные dataframes и rbinding их вместе, что все как гладко, но когда я пытаюсь написать, что сливался рамка обратно в БД я получаю эту ошибку:
Error in .External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol, :
unimplemented type 'list' in 'EncodeElement'
I 'пытались вручную принудительно их использовать, используя as.data.frame() до и после rbinds, и возвращаемый объект (тот, который не удается записать с указанным выше сообщением об ошибке) существует в среде как class data.frame, так почему dbWriteTable похоже, нет записки?
Извините, я подключаюсь к базе данных MySQL, используя RMySQL. Проблема, которую я думаю, когда я смотрю немного ближе и пытаюсь объяснить сам, состоит в том, что столбцы моего фрейма данных сами являются списками (одинаковой длины), что sorta имеет смысл ошибки. Я бы подумал (или хотел бы все равно подумать), что вызов as.data.frame() позаботится об этом, но я не думаю?
Часть моей ул(), так как это долго выглядит как:
.. [list output truncated]
$ stcong :List of 29809
..$ : int 3
..$ : int 8
..$ : int 4
..$ : int 2
Я предполагаю, что я интересно, если есть простой способ заставить это принуждение?
Вам необходимо предоставить (по крайней мере) db, к которому вы подключаетесь (MySQL, SQLite и т. Д.), И как (RODBC, RMySQL, RSQLite и т. Д.) И результаты 'str()' в вашем кадре данных. – joran
Без воспроизводимого примера или, по крайней мере, кода, который вы используете, это вызывает у вас ошибку, было бы довольно далеко, чтобы ожидать ответа. Подумайте о том, чтобы инвестировать некоторое время в улучшение вашего вопроса, чтобы мы могли хотя бы дать обоснованное предположение. –
Угадайте: у вас есть столбец в вашем фрейме данных, который не является простым числовым, символьным, логическим или значением даты. Интерфейс DB проверяет тип столбца, чтобы выяснить, как его хранить в БД. Ошибка выглядит так, что она нашла список в виде столбца, который является законным в R, но DB идет «wtf?». Что выглядит 'summary (dataframeyouarewritingtoDB)'? – Spacedman