r - 按所有变量计数/用 dplyr 区分计数
问题描述
说我有这个data.frame
:
library(dplyr)
df1 <- data.frame(x=rep(letters[1:3],1:3),y=rep(letters[1:3],1:3))
# x y
# 1 a a
# 2 b b
# 3 b b
# 4 c c
# 5 c c
# 6 c c
我可以通过提及名称轻松分组和计数:
df1 %>%
count(x,y)
# A tibble: 3 x 3
# x y n
# <fctr> <fctr> <int>
# 1 a a 1
# 2 b b 2
# 3 c c 3
如何以最紧凑/可读的方式对所有内容进行分组而不提及单个列名?
解决方案
我们可以将输入本身传递给...
参数并将其拼接!!!
:
df1 %>% count(., !!!.)
#> x y n
#> 1 a a 1
#> 2 b b 2
#> 3 c c 3
注意:查看编辑历史以了解一些评论
有了基础,我们可以做到:aggregate(setNames(df1[1],"n"), df1, length)
推荐阅读
- python-3.x - 由于 Python 版本不受支持,AWS CLI 无法正常工作
- java - 无法在 EditText 文本下方绘制形状矩形、路径...
- google-bigquery - 创建 BigQuery 表时,我收到有关配置单元分区的错误消息
- javascript - 如何将相同的道具应用于多个样式的组件?
- linux - 使用 zip 时如何排除 .git 目录和 node_modules 目录?
- google-cloud-spanner - Google Cloud Spanner 未实施检查约束
- java - IOUtils 的潜在资源泄漏像顽固的骡子一样持续存在
- android - 如何将图像从活动 A 传递到活动 B?
- python - 替代在 Python 中通过引用来帮助 DRY
- android - 应用程序启动时如何显示几秒钟的屏幕?