R не может справиться с нулевыми строками (\ 0) в символах, знает ли кто-нибудь, как с этим справиться? Более конкретно, я хочу хранить сложные объекты R в базе данных с использованием соединения ODBC или JDBC. Поскольку сложные объекты R не так легко сопоставлять с кадром данных, мне нужна другая возможность для хранения таких объектов. Объект может быть, например:
library(kernlab)
data(iris)
model <- ksvm(Species ~ ., data=iris, type="C-bsvc", kernel="rbfdot", kpar="automatic", C=10)
Потому что > модель < не может быть сохранен непосредственно в базе данных, я использую функцию serialize() для извлечения двоичного представления объекта (чтобы сохранить его в столбце BLOB):
serialModel <- serialize(model, NULL)
Теперь я хотел бы сохранить это через ODBC/JDBC. Для этого мне нужно строковое представление объекта, чтобы отправить запрос в базу данных, например. ВСТАВЬТЕ В. Поскольку результатом является вектор типа raw vector, мне нужно его преобразовать:
stringModel <- rawToChar(serialModel)
И есть проблема:
Error in rawToChar(serialModel) :
embedded nul in string: 'X\n\0\0\0\002\0\002\v\0......
R не может иметь дело с \0 в строках. Кто-нибудь знает, как обойти это ограничение? Или, возможно, существует совершенно другой подход для достижения этой цели?
Заранее спасибо