数据集在Kaggle上可用: https://www.kaggle.com/heesoo37/120-years-of-olympic-history-athletes-and-results/
我需要使用dplyr创建一个对象,其中每个对象都包含
Sex
和Season
的组合,即数据集中不同运动项的数量。
我首先按性别,季节和运动对数据集进行分组,并对它们进行汇总,这为我提供了一个表格,该表包含太多行,列为性别,季节和运动。这是不对的。然后,我在summary函数中使用了n(),它返回了相同的结果,但只增加了一列:人数
final_group<- group_by(dataset, Sex, Season)
final_group_1 <- summarise(final_group)
然后我尝试:
final_group<- group_by(dataset, Sex, Season)
final_group_1 <- summarise(final_group, n())
都没有返回我想要的东西。
我只想要4行,每个性别在夏季或冬季进行的所有运动的总和,如下例所示:
Sex Season Num_sports
Male summer ( all sports played by males in the summer )
Male winter ( all sports played by males in the winter )
Female summer ( all sports played by females in the summer )
Female winter ( all sports played by females in the winter )
答案 0 :(得分:0)
没有reprex,就不可能确切知道数据的外观,但是这样的话应该会为您提供理想的答案:
library(tidyverse)
dat <- read_csv("~/Desktop/athlete_events.csv")
dat %>%
count(Sex, Season)
#> # A tibble: 4 x 3
#> Sex Season n
#> <chr> <chr> <int>
#> 1 F Summer 59443
#> 2 F Winter 15079
#> 3 M Summer 163109
#> 4 M Winter 33485
如果您想要每个季节男女参加的独特运动数量,可以执行以下操作:
dat %>%
group_by(Sex, Season) %>%
summarise(num_sports_played = length(unique(Sport)))
#> # A tibble: 4 x 3
#> # Groups: Sex [2]
#> Sex Season num_sports_played
#> <chr> <chr> <int>
#> 1 F Summer 40
#> 2 F Winter 14
#> 3 M Summer 49
#> 4 M Winter 17
由reprex package(v0.2.1)于2019-05-06创建