问题标签 [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.
r - 在 WHERE 字段中使用用户指定变量的 RSQLite 查询
我正在使用RSQLite
R in 中的库来管理对于 RAM 来说太大的数据集。对于每个回归,我都会查询数据库以一次检索一个会计年度。现在我有硬编码的财政年度:
我想让财政年度(以上 2008 年)使更改更容易(并且万无一失)。有没有办法可以将变量传递给 SQL 查询字符串?我很想使用:
r - 从 R 中的表中仅选择 500 行
我正在使用 RSQLite 包进行数据库操作。为了从表中选择数据,我使用了以下代码,但我只有 500 行。实际上,该表包含该查询的 1200 多行。这个问题的原因是什么?
r - RSQLite 中的因素
我一直无法找到有关 RSQLite 如何处理因素的文档。通过快速测试(见下文),看起来它们已转换为字符。
问题1:有没有办法将它们保存为因子?我可以想到一些笨拙的方法(主要涉及.Rdata
存储因子级别的单独表或文件),但似乎应该有一个标准并且因此更易于维护的方法来执行此操作。
问题2:如果不是RSQLite,比其他一些数据库或类似数据库的包?我在这里的用例很简单:在处理每个大的(2-5mm 行 X 550 列)data.frames 以构建一个巨大的数据库时附加一堆,然后只能从该数据库中选择我想要的行带来进入data.table
并继续工作。
sql - 当添加的列较少时附加到现有的 SQLite 表,而不将数据库读入 R
是否有一些简单的方法,无论是在 SQL 端还是在 R 端,将 data.frame 附加到具有更多列的现有表?缺少的列应该只用 NA 填充。如果它优雅地处理表 2 的列比表 1 多,那么会加分吗?
我也可以为此设想一个包装器。该算法看起来像:
- 从现有 SQL 表中读取 1 行。
- 从该读取中获取列名。
- 使用未包含的名称将列名称添加到 data.frame;填补缺失。
- dbWriteTable 现在 data.frame 具有与 SQL 表相同的列。
SQLite 具有可变类这一事实简化了这一点。但如果它已经存在,我宁愿不重新发明轮子。
编辑
只是需要澄清一下:这些数据集很大。SQL 数据库大约 30GB,而 data.frame(实际上是data.table
出于显而易见的原因)大约 4GB。因此,需要将 SQL 表读入 R 的解决方案是行不通的。
另一种算法是在 SQL 中执行:
- 将 R data.frame 写入临时 SQL 表。
- SQL 魔术将该表附加到主 SQL 表上。
- 删除临时 SQL 表。
- 利润。
r - RSQLite - 将日期列存储为 SQLite 中的字符
有没有一种方法可以使用 RSQLite 将 R 数据框中的日期存储为 SQLite 中的字符串?目前,日期列存储为整数。在写入 SQLite 之前,我可能可以将所有日期转换为字符串,但是由于我需要从数据框是参数之一的函数写入 SQLite,因此我希望避免这种转换。
r - 在 R 包中导入 RSQLite
我正在尝试将 RSQLite 包添加到 Imports 而不是 Depends 在我的包中。在描述中我有:
在命名空间中有:
但是当我加载我的包时它失败了:
这将导致示例失败,因为dbDriver
方法是由 导出的RSQLite
,但未RSQLite
加载命名空间。我试过添加@importMethodsFrom RSQLite dbDriver
,但结果是一样的。
接下来我应该尝试什么?
sql - 将扩展名为 .sqlite 的文件导入 R - 并读取标题名称
我最近开始使用 SQLite 来存储我的原始生物数据(我有几种形式的原始数据输出,发现它是查询和链接与同一试验相关的表的一种非常有用的方法)。我现在想从不同文件中提取原始数据,将其组合成一个数据框,然后对其进行处理(例如,我想将我的日期转换为朱利安日期并根据我已有的变量创建新变量)。
此链接提供了一个很好的示例,说明了如何组合同一数据库中的文件:
我设法用它来创建我想要的数据框。但是(这里是我缺乏经验的地方)生成的数据框没有可识别的标题:
如果有人能指出我的错误,我将不胜感激。我确实尝试添加 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
我确实尝试过谷歌搜索,但没有走得很远 - 也许我正在搜索错误的术语?
非常感谢
mysql - 如何通过 R 连接到远程服务器?
我正在尝试通过 SQLite 包连接到服务器,但在任何地方都找不到正确的数据库凭据拼写。实际上我在服务器上有 MySQL 和 PostgreSQL 基础,我找到了一种连接到 PostgreSQL 的方法,听起来像这样:
但如果我将驱动程序更改为 ('SQLite') 和数据库凭据,它会显示:
有人知道 MySQL 数据库连接的正确参数是什么吗?
r - RSQLite 中的错误
尝试dbWriteTable
与RSQLite
驱动程序一起使用会导致以下错误:
我的 R 脚本:
我正在尝试使用较小的 data.frame 重新创建此错误,但不能...(这使得分类变得更加困难)
如果我Con <- dbConnect(SQLite(), dbname="fake.db")
改为Con <- dbConnect(SQLite(force.reload=T), dbname="fake.db")
我得到:
我在运行 R 3.02 的 Windows 7 上
r - 如何从 R 数据框中添加 SQLite 临时表?
我有一个到数据库文件的 SQLite 数据库连接。我想从其中一个表中提取一些数据,在 R 中进行一些处理,然后从处理过的数据在同一连接上创建一个临时表。它需要是一个临时表,因为用户可能没有对数据库的写入权限,但我希望能够在数据库中已有的数据旁边查询这些新数据。
所以,例如:
然后我想在连接中创建一个临时db
表d
我知道我可以这样做:
但我需要在临时表中使用它,并且在dbWriteTable
.
我想到的一种解决方法是添加一个临时表,然后添加列并更新它们:
但是我无法从d
列中获取数据:
我想,即使我让这个工作,它也会非常低效。
我认为使用 read.csv.sql 可能有某种方法可以做到这一点,但这似乎不适用于打开的连接对象。