R無法處理字符中的空字符串(\ 0),有誰知道如何處理?更具體地說,我想使用ODBC或JDBC連接將複雜的R對象存儲在數據庫中。由於複雜的R對象不容易被映射到數據框,我需要不同的可能性來存儲這些對象。一個目的可以是例如:如何處理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存儲這個。爲此,我需要對象的字符串表示,以便向數據庫發送查詢,例如,插入。由於結果是原料型矢量的矢量,我需要將其轉換:
stringModel <- rawToChar(serialModel)
還有的問題是:
Error in rawToChar(serialModel) :
embedded nul in string: 'X\n\0\0\0\002\0\002\v\0......
R不能夠處理\ 0字符串。有沒有人有想法如何繞過這個限制?或者可能有完全不同的方法來實現這一目標?
在此先感謝
支持此的明顯方法是數據庫連接器將原始向量存儲爲BLOB。 RODBC不支持這個嗎?如果沒有,我會感到驚訝。我知道RMySQL沒有。這是在我的待辦事項列表,雖然;) – Jeff 2011-05-10 15:03:01
這是我正在尋找。但是,我不知道RODBC或RJDBC提供此功能的任何功能:/ – Thomas 2011-05-10 16:41:21