Michael Hunt

18-01-2021

This exercise uses a set of data on birds from Mark Gardener.

library(tidyverse)
library(here)

Load the data

untidy_birds<-read_csv(here("data","bird.csv"))
Parsed with column specification:
cols(
  Species = col_character(),
  Garden = col_double(),
  Hedgerow = col_double(),
  Parkland = col_double(),
  Pasture = col_double(),
  Woodland = col_double()
)

Tidy the data

tidy_birds<-gather(untidy_birds,"Habitat","Sightings",2:6)

Group by species

gp_by_species<-tidy_birds %>%
  group_by(Species) %>%
  summarise(Max=max(Sightings),Min=min(Sightings))
`summarise()` ungrouping output (override with `.groups` argument)
gp_by_species

Group by habitat

gp_by_species<-tidy_birds %>%
  group_by(Habitat) %>%
  summarise(Most_often_seen_species=Species[which.max(Sightings)],Sightings=max(Sightings))
gp_by_species

Note here the use of which.max[Column name] to find the row number that contains the maximum value in that column, and then of column_name[index] to pick out the value in column at row .

LS0tCnRpdGxlOiAiVGlkeSB1cCBhbmQgaW5zcGVjdCB0aGUgYmlyZHMgZGF0YSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyMjIE1pY2hhZWwgSHVudAojIyMgMTgtMDEtMjAyMQoKVGhpcyBleGVyY2lzZSB1c2VzIGEgc2V0IG9mIGRhdGEgb24gYmlyZHMgZnJvbSBNYXJrIEdhcmRlbmVyLgoKYGBge3J9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGhlcmUpCmBgYAoKIyMjIExvYWQgdGhlIGRhdGEKYGBge3J9CnVudGlkeV9iaXJkczwtcmVhZF9jc3YoaGVyZSgiZGF0YSIsImJpcmQuY3N2IikpCmBgYAojIyMgVGlkeSB0aGUgZGF0YQpgYGB7cn0KdGlkeV9iaXJkczwtZ2F0aGVyKHVudGlkeV9iaXJkcywiSGFiaXRhdCIsIlNpZ2h0aW5ncyIsMjo2KQpgYGAKCiMjIyBHcm91cCBieSBzcGVjaWVzCmBgYHtyfQpncF9ieV9zcGVjaWVzPC10aWR5X2JpcmRzICU+JQogIGdyb3VwX2J5KFNwZWNpZXMpICU+JQogIHN1bW1hcmlzZShNYXg9bWF4KFNpZ2h0aW5ncyksTWluPW1pbihTaWdodGluZ3MpKQpncF9ieV9zcGVjaWVzCmBgYAojIyMgR3JvdXAgYnkgaGFiaXRhdApgYGB7cn0KZ3BfYnlfc3BlY2llczwtdGlkeV9iaXJkcyAlPiUKICBncm91cF9ieShIYWJpdGF0KSAlPiUKICBzdW1tYXJpc2UoTW9zdF9vZnRlbl9zZWVuX3NwZWNpZXM9U3BlY2llc1t3aGljaC5tYXgoU2lnaHRpbmdzKV0sU2lnaHRpbmdzPW1heChTaWdodGluZ3MpKQpncF9ieV9zcGVjaWVzCmBgYAoKTm90ZSBoZXJlIHRoZSB1c2Ugb2YgYHdoaWNoLm1heFtDb2x1bW4gbmFtZV1gIHRvIGZpbmQgdGhlIHJvdyBudW1iZXIgdGhhdCBjb250YWlucyB0aGUgbWF4aW11bSB2YWx1ZSBpbiB0aGF0IGNvbHVtbiwgYW5kIHRoZW4gb2YgYGNvbHVtbl9uYW1lW2luZGV4XWAgdG8gcGljayBvdXQgdGhlIHZhbHVlIGluIGNvbHVtbiA8Y29sdW1uIG5hbWU+IGF0IHJvdyA8aW5kZXg+Lg==