将sqlite文件导入r

时间:2015-03-15 18:49:21

标签: r sqlite binning

我正在尝试将文件导回到r,其中包含四个不同的表。我基本上执行了this solution to a previous question并设法建立连接。但是,我只想使用sql文件中的一个表而不是将我的sql中的所有表加载到R中,所以我执行了以下操作: -

library(DBI)
library(SQLite)
con <- dbConnect(RSQLite::SQLite(), dbname = "diffs.sqlite")
tables <- dbListTables(con)
mzDiff <- dbGetQuery(conn = con, statement = paste("SELECT * FROM mzdiff", sep = ",")

但是,我收到此错误消息: -

Error in .Call(rsqlite_query_fetch, res@Id, nrec = as.integer(n)) : 
  negative length vectors are not allowed

我没有得到mzdiff表中包含的数据最初从R导出到sqlite中,所以不应该有内存问题,但看起来就像我现在所拥有的那样尝试将数据从sql恢复到R时的问题。我能做什么/如果我做错了什么的想法?

或者我可以在sqlite中做我需要做的事情,但我不熟悉它。我打算通过做(用数据取代mzdiff)来收集R中的数据: -

bin <- seq(min(data[, 1]), max(data[, 1]), by = 0.001)
binnedData <- tapply(data[, 1], cut(data[, 1], breaks = bin), median)

是否可以在SQL中使用与我在R?

中执行此操作类似的方式来存储数据

由于

1 个答案:

答案 0 :(得分:0)

所以我能够通过简单地对我的数据进行子集来克服这个问题(即处理一小组数据而不是整个数据本身)。这很简单,但处理问题的方法较长