r - 按非列 X 分组
问题描述
有没有办法
a = data.frame(A = 1:4,B= 2:5,c=3:6) %>% groupby(*??????*)
是否有一个简单的命令可以按列而不是 c 进行分组?允许我在有很多列的情况下不写出 group_by(A,B) ?
解决方案
我们可以用setdiff
library(dplyr)
data.frame(A = 1:4,B= 2:5,c=3:6) %>%
group_by(across(all_of(setdiff(names(.), 'c'))))
或与-
data.frame(A = 1:4,B= 2:5,c=3:6) %>%
group_by(across(-c))
-输出
# A tibble: 4 x 3
# Groups: A, B [4]
# A B c
# <int> <int> <int>
#1 1 2 3
#2 2 3 4
#3 3 4 5
#4 4 5 6
推荐阅读
- latex - 如何修复页脚低于页面的问题
- javascript - 如何使用 .replace 删除字符串的一部分(如果该部分存在于数组中)?
- python - 使用 np.sums 使这个 for 循环更快的方法
- c - 释放指针数组
- dictionary - 在递归中应用 Haskell 映射函数
- android - React Native Video 不显示播放器
- javascript - 如何在lodash中找到A中的所有元素而不是B中的所有元素?
- julia - 如何在 Julia 中复制文件?
- sockets - 使用 GNAT.Sockets 接收多播流量
- anaconda - Error while conda environment creation got stuck