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 }}))
}同工具的其他报错
报错解决了,但方法还没搞懂?
报错只是表象。因果推断、面板数据、稳健性检验这些方法背后的逻辑,知识库里按「原理 × 直觉 × 代码」讲清楚了。
进入知识库 →