r - 计算数据框中多个变量的行数
问题描述
我希望计算满足特定条件的行数(对于 a、b 和 c),同时还要记住 d 和 e 的值并对它们求和。例如:
开始数据集(df1):
set.seed(1)
df1 <- data.frame(
a = sample(1:10,10,T),
b = sample(1:13,10,T),
c = sample(1:5,10,T),
d = sample(c(0,1),10,T),
e = sample(c(0,1),10,T))
df1 <- rbind(df1, c(3,3,5,1,1))
结束数据集(df2):
library(dplyr)
df2 <- df1 %>%
dplyr::count(a, b, c, name = 'count_abc')
df2 <- data.frame(df2, count_d = c(0,1,1,1,0,1,0,1,0,1), count_e = c(1,2,1,1,1,1,0,1,1,0))
注意:我在 df1 中手动添加了一行来演示应该如何处理匹配的行
解决方案
您可以避免count()
并手动进行一些计数,即
library(dplyr)
df1 %>%
group_by(a, b, c) %>%
summarise(cnt = n(),
sum_d = sum(d),
sum_e = sum(e))
推荐阅读
- c# - 在 PORT:80 之后更改 IIS 中的默认名称
- r - 使用 rsample 包的引导比使用引导包慢得多
- java - Spring Data Jpa EntityManager 刷新不起作用
- python - ModuleNotFoundError:没有名为“dota”的模块
- arrays - 试图从 json/api 而不是数组中提取数据
- reactjs - 页面中的 MUIDataTable 默认行不起作用
- gitlab - Gitlab-CI 又名管道依赖项中的上游触发
- amazon-web-services - AWS CloudWatch 自定义指标在实例类型更改后未显示
- azure - 将 Cosmbos DB Sql Api 中 Container 的主键命名为不同于“id”
- flutter - ios 中的音频显示错误的持续时间计时,但在 android 颤振应用程序中正确