r数据操作

R 报错:dplyr 报 object not found 但列名明明存在

在 filter()/mutate() 里用了外部变量名,需要 .data$ 或 {{ }} 引用。

报错原文

Error: object 'xxx' not found

为什么会报这个错

在 filter()/mutate() 里用了外部变量名,需要 .data$ 或 {{ }} 引用。

怎么解决

用 .data$col 或 rlang::.data 明确指代列;函数参数用 {{ }} embracing。

代码示例

library(dplyr)
var <- "price"
df %>% filter(.data[[var]] > 0)

my_fun <- function(data, col) {
  data %>% summarise(m = mean({{ col }}))
}

同工具的其他报错

报错解决了,但方法还没搞懂?

报错只是表象。因果推断、面板数据、稳健性检验这些方法背后的逻辑,知识库里按「原理 × 直觉 × 代码」讲清楚了。

进入知识库 →