问题标签 [rsqlite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
98 浏览

sql - R: RSQLite randomly corrupted databasefiles occur, do I need to close connection?

I load several databasefiles (SQLite) and subject them to a simple query:

I run into problems since my files are randomly corrupted, or wiped.. appearing as 0 byte in filesize.

Am I doing something wrong and should I be closing connections after each query. What is best practice here?

0 投票
0 回答
214 浏览

sql - 连接表 SQL 命令

我有一个包含 19 个不同表的数据库。

我只需要FULLJOIN在每个表上使用一个命令,类似于rbind在 R 中。

由于我是 SQL 语言的新手,我尝试data.frame通过将每个 Samples 绑定在一起来创建第一个,最后编写一个数据库。

但是,这会占用太多内存,并使我的 R 会话崩溃。所以我现在有必要使用 SQL 数据库创建。

那么使用 R,我如何从上面的列表中加入创建的表?

0 投票
1 回答
1075 浏览

r - 如何动态地将数据添加到数据框中?

我有需要为文件中的每一行清理的数据,并且我想将清理后的数据插入 SQLite3 数据库中。我正在使用需要数据框的RSQLite库。这是我试图开始工作的代码:

虽然代码执行没有意外,但当我尝试使用 DbVisualizer 查看数据库时出现错误:

我唯一的猜测是行和列以某种方式转置。我的列名应该是feature_names向量的值。

另外,如果有人对更好的方法有任何建议......

更新

我试着做一个 dput,虽然我不知道我在看什么。这是摘要的顶部:

再一次,这让我相信数据都是混在一起的。它应该有 561 列,其中一些在上面表示为 tBodyAcc-mean()-X 等。列值应该是我在上面看不到的浮点数。

表命令不起作用:

我应该有 7,352 行和 561 列。

更新 2

我相信我的问题是我正在尝试使用一个或多个数组之类的列表。例如,在 Ruby 中,我可以这样做:

0 投票
0 回答
86 浏览

r - 导入大于 2^31-1 的 SQLite 整数列

我有table一个 SQLite 数据库DB,我想在 R 中导入。但其中的一列integertableSQLite 整数数据类型,它可能假定值 > 2^31-1,然后超过 R 整数数据类型支持的值。然而,RSQLite 将继续将列中的所有值integer作为整数导入到 R 数据框中:

无论如何在R中指定目标数据框列的数据类型?

0 投票
0 回答
945 浏览

database - 将 na.strings 传递给 dbWriteTable

我正在尝试在 R 中运行以下命令,以便将本地制表符分隔文件读取为 SQLite 数据库:

但是,上面的语句会产生以下错误:

read.table 中的错误(fn,sep = sep,header = header,skip = skip,nrows = nrows,:由多个实际参数匹配的形式参数“na.strings”

这让我觉得我无法na.strings明确地作为read.delim参数传递。在没有这个参数的情况下运行dbWriteTable会给我“RS-DBI 驱动程序:(RS_sqlite_import: ./data.tsv 第 17696 行预期有 20 列数据,但找到了 18 列)”。这是可以理解的,因为我检查了第 17696 行,它几乎完全是空白的。

另一个测试运行使用sqldf也给了我一个错误:

我认为这是一个不相关的错误,但对于像我这样绝对是 SQL 菜鸟的人来说仍然非常混乱。相反, Runninread.csv.sql给了我这个错误:

Error in read.table(fn, sep = sep, header = header, skip = skip, nrows = nrows, : more columns than column names

那么有没有办法通过na.strings = c("", NA)dbWriteTable?除了sqldf和之外,还有更好的方法将 10 GB 制表符分隔的文件读入 RRSQLite吗?我已经尝试过data.tableff

0 投票
1 回答
1369 浏览

r - 如何使用 RSQLite 将制表符分隔的数据导入到 sqlite?

我想使用 RSQLite 将一堆大文本文件导入 SQLite 数据库。如果我的数据用逗号分隔,我会这样做:

但是用 '\t' 分隔的数据呢?我知道我可以将数据读入 R data.frame,然后从中创建表,但我想直接进入 SQLite,因为有很多大文件。当我用我的数据尝试上述方法时,我得到一个单一的字符字段。

我可以使用 sep='\t' 之类的选项吗?我尝试只添加 sep='\t',如下所示:

编辑:事实上这很好用,但是我正在使用的文件中的一个缺陷导致了一个错误。如果你像我一样有标题,添加 header=TRUE 也很好。

0 投票
2 回答
631 浏览

sql - RSQLite:在同一个选择查询中绑定集合和标量

如何在SQL 语句的bind.data参数中同时传递标量和一组值,例如dbGetQuery()

这是我尝试过的:

从阅读源代码开始,任何非 data.framebind.data参数都会被强制通过as.data.frame(),所以我想尝试除数据帧之外的任何东西都没有什么意义。

注意:哎呀,似乎即使绑定一个集合也是有问题的:

这清楚地表明从 R 发送了 2 个单独的查询(其中一个返回 4,其中一个返回 3 个结果);SQLite 永远不会看到设置参数。

较早的注释:我希望数据库引擎过滤适当的行,我不希望 R 计算笛卡尔积。在上面的示例中,简单地摆脱I()创建一个 2 行数据帧(感谢 R 的回收),其中之一就是解决方案。R 将这两行中的每一行发送到 sqlite,当然第二行匹配。但以下显示 SQLite 引擎实际上并没有使用常规 data.frames 接收设置参数:

0 投票
0 回答
728 浏览

r - CSV 到 SQLite 到 R:字符列的引号过多

我正在尝试创建一个工作流程

  1. 使用 R 创建 SQLite 数据库
  2. 将一些(可能很大——大于内存容量)CSV 文件作为表加载到数据库中
  3. 使用 dplyr 进行分析

下面的内容似乎与我想要的非常接近,但我无法弄清楚为什么我在Species列中有额外的引号。

0 投票
1 回答
860 浏览

r - 如何使用自动生成的字段附加到 R 中的 SQLite 表

这是与此问题类似的问题,但我不希望用 NA 填充缺失的列,因为缺失的列具有有意义的默认值,包括主键。

我正在尝试从 R 附加到 SQLite 表,其中该表具有一些自动生成的字段,特别是主键和两个时间戳值。第一个时间戳是创建日期,第二个时间戳是修改日期。

这是表结构:

当我尝试使用 MySQL 做完全相同的事情时,会dbWriteTable自动处理缺失列的默认值,并正确填充主键和 created_date(并且它会自动匹配列的顺序)。

如何使用 RSQLite 包实现相同的行为?我不确定我的数据库配置是否不正确,或者我是否需要在 R 中执行一些附加步骤?

NA我尝试使用&预先填充缺少的字段'null',但在这两种情况下我都会收到错误消息:

并且数据不会被写入。

0 投票
2 回答
2169 浏览

r - 如何在 SQLite 数据库中存储 R 对象(列表)?

我只是想知道是否可以通过 sqldf 或 RSQLite 将 R 列表直接存储在 SQLite 数据库中(当然也可以检索它们)。