r - summarise() 中是否有一个 R 函数,我可以在其中计算两个相互重合的变量的数量?
问题描述
我不知道我应该如何表达这一点。
假设我有一个关于少年逮捕的数据框。其中一列描述了违反的法规,这就是我正在做的事情group_by()
。
date sex statute_description
2015-01-01 M ROBBERY
2015-01-01 M ROBBERY
2015-01-01 F ROBBERY
2015-01-01 F ASSAULT - SIMPLE
2015-01-01 F ASSAULT - SIMPLE
2015-01-01 M ASSAULT - SIMPLE
2015-01-01 M DRUG POSSESSION
2015-01-01 M ISSUANCE OF WARRANT
2015-01-01 M ISSUANCE OF WARRANT
2015-01-01 M ISSUANCE OF WARRANT
arrest_reasons <- group_by(df, statute_description) %>%
summarize(
num_arrests = n
)
这将返回:
statute_description num_arrests
ROBBERY 3
DRUG POSSESSION 1
ASSAULT - SIMPLE 3
ISSUANCE OF WARRANT 3
我想要做的是在数据框中添加另一列,计算每种性别有多少成员犯下特定罪行。像这样:
statute_description num_arrests males females
ROBBERY 3 2 1
DRUG POSSESSION 1 1 0
ASSAULT - SIMPLE 3 1 2
ISSUANCE OF WARRANT 3 3 0
我不确定什么功能适合这个。
解决方案
我们可以sum
在逻辑表达式上使用
library(dplyr)
arrest_reasons <- group_by(df, statute_description) %>%
summarize(
num_arrests = n(),
males = sum(sex == 'M'),
females = num_arrests - males, .groups = 'drop')
arrest_reasons
# A tibble: 4 x 4
# statute_description num_arrests males females
# <chr> <int> <int> <int>
#1 ASSAULT - SIMPLE 3 1 2
#2 DRUG POSSESSION 1 1 0
#3 ISSUANCE OF WARRANT 3 3 0
#4 ROBBERY 3 2 1
数据
df <- structure(list(date = c("2015-01-01", "2015-01-01", "2015-01-01",
"2015-01-01", "2015-01-01", "2015-01-01", "2015-01-01", "2015-01-01",
"2015-01-01", "2015-01-01"), sex = c("M", "M", "F", "F", "F",
"M", "M", "M", "M", "M"), statute_description = c("ROBBERY",
"ROBBERY", "ROBBERY", "ASSAULT - SIMPLE", "ASSAULT - SIMPLE",
"ASSAULT - SIMPLE", "DRUG POSSESSION", "ISSUANCE OF WARRANT",
"ISSUANCE OF WARRANT", "ISSUANCE OF WARRANT")),
class = "data.frame", row.names = c(NA,
-10L))
推荐阅读
- arrays - Vue 突变变更实例(MyArray 到 Array)
- unix - diff unix 如何在输出中显示源文件的行号
- qt - /usr/lib/x86_64-linux-gnu/libQt5Core.so.5:找不到版本“Qt_5.12”
- r - “iden”列应包含组中每个成员的个人编号
- google-apps-script - Google Docs Scripts:如何从一个文档中复制列表并用它替换另一个文档中的列表?
- java - 如何使用 JAVA 从 Azure 的 Cosmos DB 集合中获取所有文档?
- erlang - 如何在 shell 中使用 rebar3 创建 Erlang 应用程序?
- ios - c文件可以读取Xcode中的本地化字符串吗?
- java - 如何根据系统环境属性更改枚举值
- windows - 在 Windows 机器上构建 docker 映像时出现 chmod CommandNotFoundException