You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行dplyr代码报错:无适用于类‘c('matrix','array','list')’对象的'tbl_vars'方法

问题原因及解决办法

错误原因

rename_at是dplyr包专为tidy表格对象(比如data.frame、tibble)设计的列重命名函数,而你的overallclaimspaid对象当前类型是matrix/array/list,这类对象不支持dplyr的tbl_vars方法(该方法用于识别表格列名),因此触发报错。

解决步骤

1. 确认对象类型

先执行以下代码确认overallclaimspaid的具体类型:

class(overallclaimspaid)

2. 转换为dplyr兼容的表格对象

根据对象类型做对应转换,再执行重命名:

  • 如果是matrix/array:转成data.frame或tibble
# 转换为data.frame后重命名
overallclaimspaid <- as.data.frame(overallclaimspaid) %>% 
  rename_at(vars(oldnames), ~ newnames)
head(overallclaimspaid)
  • 如果是list:若list是按列存储的结构,同样转成data.frame
overallclaimspaid <- as.data.frame(overallclaimspaid) %>% 
  rename_at(vars(oldnames), ~ newnames)

3. 推荐使用新版dplyr语法

dplyr已推荐用rename_with替代旧版的rename_at,写法更清晰:

overallclaimspaid <- as.data.frame(overallclaimspaid) %>% 
  rename_with(~ newnames, all_of(oldnames))

内容的提问来源于stack exchange,提问作者Benson Ongocho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 04:12:49