R使用dplyr分组排序出现argument lengths differ错误如何解决
问题解决方案
报错原因
- 核心语法错误:代码第二行的管道运算符写为
%>,缺失了右侧的>,正确的dplyr管道符应为%>%,语法错误会导致后续参数传递错位,直接触发参数长度不匹配的报错。 - 额外排查点:如果修正管道符后仍报错,需检查
distritID、var两个列名是否与数据集中的实际列名完全匹配,大小写、拼写误差都会导致调用不存在的空列,触发长度不一致问题。
修正后可运行代码
# 写法1:先分组再组内排序 library(dplyr) data <- data %>% group_by(distritID) %>% arrange(desc(var), .by_group = TRUE) # 写法2:更简洁的等价写法,无需提前分组,运行效率更高 data <- data %>% arrange(distritID, desc(var))
实现效果说明
两种写法都可以实现按照distritID分组后,每个分组内的var列数值从大到小降序排列的需求。
内容的提问来源于stack exchange,提问作者Clara
相关产品推荐
相关产品推荐

