r - R:如何在 dplyr 中进行条件计数?
问题描述
我有这个数据框。我想汇总数据,以便一列显示总启动次数,下一列显示总失败启动次数。
state_name launch_year category
1 United States 1958 Success
2 United States 1958 Success
3 United States 1958 Success
4 United States 1958 Failure
5 United States 1958 Failure
6 United States 1958 Failure
7 Soviet Union 1957 Success
8 Soviet Union 1957 Success
9 Soviet Union 1958 Success
10 Soviet Union 1959 Success
11 Soviet Union 1959 Success
12 Soviet Union 1959 Success
13 Soviet Union 1958 Failure
14 Soviet Union 1958 Failure
15 Soviet Union 1958 Failure
16 Soviet Union 1958 Failure
17 Soviet Union 1959 Failure
18 United States 1959 Success
19 United States 1959 Failure
20 United States 1958 Success
21 United States 1959 Success
22 United States 1959 Failure
23 United States 1958 Success
24 United States 1958 Success
25 United States 1959 Success
26 United States 1959 Success
27 United States 1959 Success
28 United States 1959 Success
29 United States 1959 Success
30 United States 1959 Success
31 United States 1959 Success
32 United States 1958 Failure
33 United States 1958 Failure
34 United States 1959 Failure
35 United States 1959 Failure
36 United States 1959 Failure
37 United States 1958 Success
38 United States 1959 Success
39 United States 1959 Success
40 United States 1957 Failure
41 United States 1958 Failure
42 United States 1958 Failure
43 United States 1958 Failure
44 United States 1958 Failure
45 United States 1958 Failure
46 United States 1958 Failure
47 United States 1958 Failure
48 United States 1958 Failure
49 United States 1958 Failure
50 United States 1958 Failure
51 United States 1959 Failure
52 United States 1959 Failure
每行代表一次发射。该类别是发布的结果。
我想把它变成这样的东西。
state_name launch_year launches failed_launches
1 United States 1957 1 1
2 Soviet Union 1957 2 0
3 United States 1958 22 15
4 Soviet Union 1958 5 4
5 United States 1959 4 3
6 Soviet Union 1959 18 1
我尝试过滤到失败的启动,然后添加一failed_launch
列,但我不知道如何从那里返回其余数据。
launches %>%
filter(category == "Failure") %>%
count(state_name, launch_year) %>%
mutate(failed_launches = n)
解决方案
能做:
df %>%
group_by(state_name, launch_year) %>%
summarise(
launches = n(),
failed_launches = sum(category == "Failure")
)
推荐阅读
- python - 将三次方程公式导出到 Python 中的代码
- java - 如何在可移动的浮动动作按钮中动画点击?
- openlayers - 获取属性 - VectorLayer
- discord - 获取 discord.js 中每个分片的前 10 个公会?
- javascript - 如何在烧瓶中从客户端流式传输音频和视频
- python - 使用 Python 比较 2 个音频
- slack - Slack API:未从外部工作区接收机器人直接消息
- node.js - 通过对 MongoDB 中的多个字段进行分组来获取最大值
- html - 如何更改禁用复选框上复选标记的颜色
- entity-framework-core - 尝试在向上迁移中更改列数据时出现锁定问题