如果满足另一列中的条件,如何让 R 对列中的值进行计数?
How to get R to count a value in a column if it meets a criteria in another column?
假设我有一个数据集,其中包含每个 class 中高个子和矮个子学生的数量。
Class tall_short count percentage
A tall 2 17%
A short 3 20%
B tall 4 33%
B short 5 33%
C tall 6 50%
C short 7 47%
我有前 3 列的数据框。
如何创建百分比列,显示每个 class 中 tall/short 名学生占所有 tall/short 名学生的百分比。
你可以做到
df %>%
group_by(tall_short) %>%
mutate(percentage = count / sum(count))
并使用 scales::label_percent
获得正确的格式:
df %>%
group_by(tall_short) %>%
mutate(percentage = scales::label_percent()(count / sum(count)))
Class tall_short count percentage
<chr> <chr> <int> <chr>
1 A tall 2 17%
2 A short 3 20%
3 B tall 4 33%
4 B short 5 33%
5 C tall 6 50%
6 C short 7 47%
假设我有一个数据集,其中包含每个 class 中高个子和矮个子学生的数量。
Class tall_short count percentage
A tall 2 17%
A short 3 20%
B tall 4 33%
B short 5 33%
C tall 6 50%
C short 7 47%
我有前 3 列的数据框。 如何创建百分比列,显示每个 class 中 tall/short 名学生占所有 tall/short 名学生的百分比。
你可以做到
df %>%
group_by(tall_short) %>%
mutate(percentage = count / sum(count))
并使用 scales::label_percent
获得正确的格式:
df %>%
group_by(tall_short) %>%
mutate(percentage = scales::label_percent()(count / sum(count)))
Class tall_short count percentage
<chr> <chr> <int> <chr>
1 A tall 2 17%
2 A short 3 20%
3 B tall 4 33%
4 B short 5 33%
5 C tall 6 50%
6 C short 7 47%