我最近问过this问题。
我能够将整个表放入SQLite3,并且正在努力指定类型。显然,' r' data.frame属性不完美地转换为SQLite3。
问题:
使用R SQLite包,用于" dbWriteTable"有没有办法指定列的类型,特别是布尔值和日期时间?
当我尝试使用dbWriteTable编写posixtime列时:
> dbWriteTable(conn=myDBcon,name = tlist[idx],value = rt1)
然后我收到以下错误:
Error in sqliteSendQuery(conn, statement, bind.data) :
RAW() can only be applied to a 'raw', not a 'double'
如果我将posixtime视为数字,那么我就不会遇到这个问题。
答案 0 :(得分:2)
您可以使用dbWriteTable()中的field.types
参数指定列类型,该参数采用字符向量。指定的名称对应于表名:
dbWriteTable(conn=myDBcon, name = tlist[idx], value = rt1,
field.types=list(dte="text", val="real", bool="integer"),
append=FALSE, overwrite=TRUE, rownames=FALSE)