为何曾运行成功的R语言inner_join代码突然报错?
问题排查与解决
错误提示明确说明:inner_join无法应用于sheets_id类型的对象——这意味着你当前的UnmatchIMISCode或AllSchemeSanctionNo不再是数据框,而是Google Sheets的ID引用对象,而非实际加载的数据集。
排查步骤
- 先确认两个对象的类型:
class(UnmatchIMISCode) class(AllSchemeSanctionNo)
如果输出包含sheets_id,直接坐实问题。
原因分析
之前代码能运行,是因为当时两个变量存储的是从Google Sheets读取的实际数据框;现在它们变成了工作表ID,大概率是你重新加载数据时用错了函数——比如误调用了gs4_get()(仅获取工作表元信息/ID),而非read_sheet()(读取工作表内容为数据框)。
解决方法
重新用数据读取函数将两个工作表内容加载为数据框:
# 以googlesheets4包为例 library(googlesheets4) UnmatchIMISCode <- read_sheet("你的工作表URL或ID") AllSchemeSanctionNo <- read_sheet("你的另一个工作表URL或ID")
重新读取后再运行class()验证,确认输出为data.frame或tibble,再执行原连接代码即可。
内容的提问来源于stack exchange,提问作者anibhat
相关产品推荐
相关产品推荐

