Code:
f<-data %>%
count(city_name, gender_full== "Male", sort = TRUE) %>%
slice_head(n = 10)
colnames(f)=c("city", "Number of male")
f
Output :
city Number of male NA
1 Vancouver FALSE 5878
2 Vancouver TRUE 5333
3 Victoria FALSE 2572
4 Victoria TRUE 2313
5 Nanaimo TRUE 2006
6 Nanaimo FALSE 1870
7 New Westminster FALSE 1730
8 New Westminster TRUE 1481
9 Kelowna FALSE 1345
10 Kelowna TRUE 1168
在我的输出中;雄性数量;它有一种混合物";TRUE";以及";"假";。如何将False更改为";女性;并且True为"0";男性"?
你想统计每个城市有多少男性和多少女性吗?在你的数据中,每一行都是一个有性别和城市的人吗?如果是,可以使用经典的group_by
、summarize
组合。
我创建了这个伪数据:
data <- data.frame(ID = c(4,5,6,7,8),
city_name = c("Vancouver", "Boston", "Quebec", "Boston", "Boston"),
gender_full = c("Male", "Male", "Female", "Male", "Female"))
ID city_name gender_full
1 4 Vancouver Male
2 5 Boston Male
3 6 Quebec Female
4 7 Boston Male
5 8 Boston Female
Group_by
和summarize
:
library(tidyverse)
data %>%
group_by(city_name, gender_full) %>%
summarise(number = n())
# A tibble: 4 x 3
# Groups: city_name [3]
city_name gender_full number
<chr> <chr> <int>
1 Boston Female 1
2 Boston Male 2
3 Quebec Female 1
4 Vancouver Male 1