R中未找到DataFrame对象错误

Posted

技术标签:

【中文标题】R中未找到DataFrame对象错误【英文标题】:DataFrame Object not found error in R 【发布时间】:2018-03-27 19:27:26 【问题描述】:

我正在尝试将 MS Access 数据库连接到 R 并创建一个数据框并最终绘制一些数据,但我收到此错误,而我似乎正在正确地从表中导入数据。问题出在哪里?

控制台:

   > # Load RODBC package
> library(RODBC)
>
> # Connect to Access db
> db_address <- "S:/LKF/Interdepartmental/DataGovernance/Tools/MM_Backend.accdb"
> db <- odbcConnectAccess(db_address)
Error in odbcConnectAccess(db_address) :
  odbcConnectAccess is only usable with 32-bit Windows
>
>
> # Get data
> sql <- "select * from tblMaterials"
> df1 <- sqlQuery( db , sql)
Error in sqlQuery(db, sql) : first argument is not an open RODBC channel

代码:

# Load RODBC package
library (RODBC)

# Connect to Access db
db_address <- "S:/LKF/Interdepartmental/DataGovernance/Tools/MM_Backend.accdb"
db <- odbcConnectAccess(db_address)


# Get data
sql <- "select * from tblMaterials"
df1 <- sqlQuery( db , sql)

【问题讨论】:

您确定在此之前没有收到错误消息吗? Str (df1) 应该抛出一个错误,因为它应该是 str(df1) 并且返回什么? 不,整个代码表现得很奇怪。我觉得 R 中有一个错误。我可以删除 str(df1) 仍然得到同样的错误 当我重新运行代码时,有时我会收到此错误Error in sqlQuery(db, paste(sql)) : could not find function "sqlQuery" 嗯,“R 中存在错误”是一个相当广泛的主张。 R 并不是那种“有时”会出错的语言。你在尝试不同的机器还是什么?寻求帮助时,您应该包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出。 MrFlick 是真的想提供帮助,只是表达了(合理的)立场,即这不太可能是 R 中的错​​误的结果。找不到函数 sqlQuery 往往是因为你还没有加载 RODBC 包。 hist() 抛出一个错误说它找不到 df1 只会在 df1 真的不存在时发生,这意味着 str(df1) 也应该给出一个错误。你能在没有数据库的情况下重现这种行为吗? 【参考方案1】:

我通过这篇文章找到了答案:How to connect R with Access database in 64-bit Window?

我有一个 64 位的 Windows,我的办公产品都是 32 位的,所以我不得不将 R-32 位设置为默认值并更改连接定义:

odbcDriverConnect("Driver=Microsoft Access Driver (*.mdb, *.accdb);DBQ=S:/LKF/Interdepartmental/DataGovernance/Tools/MM_Backend.accdb")

【讨论】:

以上是关于R中未找到DataFrame对象错误的主要内容,如果未能解决你的问题,请参考以下文章

countDistinct - Spark 中未找到值错误

Spark SQL读写方法

Access 2007 中未找到模块错误

Xcode 7 中未找到解析 UI 错误

是啥导致 Access 2010 中出现“在任何记录中未找到搜索键”错误?

如何修复“运行配置错误:[SDK 中未找到 Rails]”?