r数据处理
R 报错:Can't transform a data frame with duplicate names
数据框有重复列名,dplyr 无法唯一定位。读入 CSV 时列名重复、或者 join 后同名后缀没设好。
报错原文
Error: Can't transform a data frame with duplicate names.为什么会报这个错
数据框有重复列名,dplyr 无法唯一定位。读入 CSV 时列名重复、或者 join 后同名后缀没设好。
怎么解决
names(df) 找重复项,janitor::clean_names() 一键规范化,join 时加 suffix = c(".x", ".y")。
代码示例
names(df)
df <- janitor::clean_names(df)
left_join(x, y, by = "id", suffix = c("_x", "_y"))同工具的其他报错
- R 报错:Join columns must be present in data(连接键不存在)
- R 报错:All columns in a tibble must be vectors
- R 报错:Column `x` must be length 1 or n(mutate 里长度不匹配)
- R 报错:Problem with `mutate()` input `x`(管道内层报错)
- R 报错:`by` required, because the data sources have no common variables
- R 报错:must be a vector, not a data frame(传了数据框当参数)
报错解决了,但方法还没搞懂?
报错只是表象。因果推断、面板数据、稳健性检验这些方法背后的逻辑,知识库里按「原理 × 直觉 × 代码」讲清楚了。
进入知识库 →