问题标签 [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 投票
2 回答
3603 浏览

r - 在 WHERE 字段中使用用户指定变量的 RSQLite 查询

我正在使用RSQLiteR in 中的库来管理对于 RAM 来说太大的数据集。对于每个回归,我都会查询数据库以一次检索一个会计年度。现在我有硬编码的财政年度:

我想让财政年度(以上 2008 年)使更改更容易(并且万无一失)。有没有办法可以将变量传递给 SQL 查询字符串?我很想使用:

0 投票
2 回答
1019 浏览

r - 从 R 中的表中仅选择 500 行

我正在使用 RSQLite 包进行数据库操作。为了从表中选择数据,我使用了以下代码,但我只有 500 行。实际上,该表包含该查询的 1200 多行。这个问题的原因是什么?

0 投票
2 回答
1028 浏览

r - RSQLite 中的因素

我一直无法找到有关 RSQLite 如何处理因素的文档。通过快速测试(见下文),看起来它们已转换为字符。

问题1:有没有办法将它们保存为因子?我可以想到一些笨拙的方法(主要涉及.Rdata存储因子级别的单独表或文件),但似乎应该有一个标准并且因此更易于维护的方法来执行此操作。

问题2:如果不是RSQLite,比其他一些数据库或类似数据库的包?我在这里的用例很简单:在处理每个大的(2-5mm 行 X 550 列)data.frames 以构建一个巨大的数据库时附加一堆,然后只能从该数据库中选择我想要的行带来进入data.table并继续工作。

0 投票
3 回答
3214 浏览

sql - 当添加的列较少时附加到现有的 SQLite 表,而不将数据库读入 R

是否有一些简单的方法,无论是在 SQL 端还是在 R 端,将 data.frame 附加到具有更多列的现有表?缺少的列应该只用 NA 填充。如果它优雅地处理表 2 的列比表 1 多,那么会加分吗?

我也可以为此设想一个包装器。该算法看起来像:

  1. 从现有 SQL 表中读取 1 行。
  2. 从该读取中获取列名。
  3. 使用未包含的名称将列名称添加到 data.frame;填补缺失。
  4. dbWriteTable 现在 data.frame 具有与 SQL 表相同的列。

SQLite 具有可变类这一事实简化了这一点。但如果它已经存在,我宁愿不重新发明轮子。

编辑

只是需要澄清一下:这些数据集很大。SQL 数据库大约 30GB,而 data.frame(实际上是data.table出于显而易见的原因)大约 4GB。因此,需要将 SQL 表读入 R 的解决方案是行不通的。

另一种算法是在 SQL 中执行:

  1. 将 R data.frame 写入临时 SQL 表。
  2. SQL 魔术将该表附加到主 SQL 表上。
  3. 删除临时 SQL 表。
  4. 利润。
0 投票
1 回答
1300 浏览

r - RSQLite - 将日期列存储为 SQLite 中的字符

有没有一种方法可以使用 RSQLite 将 R 数据框中的日期存储为 SQLite 中的字符串?目前,日期列存储为整数。在写入 SQLite 之前,我可能可以将所有日期转换为字符串,但是由于我需要从数据框是参数之一的函数写入 SQLite,因此我希望避免这种转换。

0 投票
0 回答
517 浏览

r - 在 R 包中导入 RSQLite

我正在尝试将 RSQLite 包添加到 Imports 而不是 Depends 在我的包中。在描述中我有:

在命名空间中有:

但是当我加载我的包时它失败了:

这将导致示例失败,因为dbDriver方法是由 导出的RSQLite,但未RSQLite加载命名空间。我试过添加@importMethodsFrom RSQLite dbDriver,但结果是一样的。

接下来我应该尝试什么?

0 投票
1 回答
615 浏览

sql - 将扩展名为 .sqlite 的文件导入 R - 并读取标题名称

我最近开始使用 SQLite 来存储我的原始生物数据(我有几种形式的原始数据输出,发现它是查询和链接与同一试验相关的表的一种非常有用的方法)。我现在想从不同文件中提取原始数据,将其组合成一个数据框,然后对其进行处理(例如,我想将我的日期转换为朱利安日期并根据我已有的变量创建新变量)。

此链接提供了一个很好的示例,说明了如何组合同一数据库中的文件:

将扩展名为 .sqlite 的文件导入 R

我设法用它来创建我想要的数据框。但是(这里是我缺乏经验的地方)生成的数据框没有可识别的标题:

如果有人能指出我的错误,我将不胜感激。我确实尝试添加 header=T 并且代码运行但我仍然无法访问名称:

for (i in seq(along=tables.excl)) { + DataFrames[[i]] <- dbGetQuery(conn=con, statement=paste("SELECT * FROM '", tables.excl[[i]], " '", sep="",header=T)) + } 名称(DataFrames) NULL

我确实尝试过谷歌搜索,但没有走得很远 - 也许我正在搜索错误的术语?

非常感谢

0 投票
1 回答
1309 浏览

mysql - 如何通过 R 连接到远程服务器?

我正在尝试通过 SQLite 包连接到服务器,但在任何地方都找不到正确的数据库凭据拼写。实际上我在服务器上有 MySQL 和 PostgreSQL 基础,我找到了一种连接到 PostgreSQL 的方法,听起来像这样:

但如果我将驱动程序更改为 ('SQLite') 和数据库凭据,它会显示:

有人知道 MySQL 数据库连接的正确参数是什么吗?

0 投票
1 回答
624 浏览

r - RSQLite 中的错误

尝试dbWriteTableRSQLite驱动程序一起使用会导致以下错误:

我的 R 脚本:

我正在尝试使用较小的 data.frame 重新创建此错误,但不能...(这使得分类变得更加困难)

如果我Con <- dbConnect(SQLite(), dbname="fake.db")改为Con <- dbConnect(SQLite(force.reload=T), dbname="fake.db")我得到:

我在运行 R 3.02 的 Windows 7 上

0 投票
1 回答
2183 浏览

r - 如何从 R 数据框中添加 SQLite 临时表?

我有一个到数据库文件的 SQLite 数据库连接。我想从其中一个表中提取一些数据,在 R 中进行一些处理,然后从处理过的数据在同一连接上创建一个临时表。它需要是一个临时表,因为用户可能没有对数据库的写入权限,但我希望能够在数据库中已有的数据旁边查询这些新数据。

所以,例如:

然后我想在连接中创建一个临时dbd

我知道我可以这样做:

但我需要在临时表中使用它,并且在dbWriteTable.

我想到的一种解决方法是添加一个临时表,然后添加列并更新它们:

但是我无法从d列中获取数据:

我想,即使我让这个工作,它也会非常低效。

我认为使用 read.csv.sql 可能有某种方法可以做到这一点,但这似乎不适用于打开的连接对象。