Data Summarising

Hello,

I am stumped by a data summarising problem.

My data consists of a list (long-format) of species that have been identified from samples collected on same day. I need to calculate number of animals collected each day, and number of species collected each day, and a summary of species collected each day.

Problem: number of samples per day are variable ("labno", below), ranging from one to three. How do I count the number of samples per day to calculate these statistics?

My code is throwing an error, because 'labno" is a factor. Do I flip the data from long to wide-format? Or is there a more simple method?

Data and code below.
thanks!

df<- tibble::tribble(
             ~date,    ~site,  ~labno,                         ~GenusSpecies, ~Tally,
       "5/27/2008",  "loc-6", 109072L,                          "Caenis sp.",     1L,
       "5/27/2008",  "loc-6", 109072L,                      "Chironomus sp.",     1L,
       "5/27/2008",  "loc-6", 109071L,                      "Chironomus sp.",     1L,
       "5/27/2008",  "loc-6", 109072L,              "FAMILY: COENAGRIONIDAE",     1L,
       "5/27/2008",  "loc-6", 109071L,                "Haemonais waldvogeli",     1L,
       "5/27/2008",  "loc-6", 109071L,                        "Laevapex sp.",     1L,
       "5/27/2008",  "loc-6", 109070L,      "Micromenetus dilatatus dilatus",     1L,
       "5/27/2008",  "loc-6", 109071L,                 "SUBFAMILY: NAIDINAE",     1L,
       "5/27/2008",  "loc-6", 109072L,                 "SUBFAMILY: NAIDINAE",     1L,
       "5/27/2008",  "loc-6", 109070L,               "Zavreliella marmorata",     4L,
       "5/27/2008",  "loc-6", 109071L,               "Zavreliella marmorata",     1L,
        "6/2/2008", "loc-21", 109721L,                "Ablabesmyia mallochi",     3L,
        "6/2/2008", "loc-21", 109720L,                "Ablabesmyia mallochi",     3L,
        "6/2/2008", "loc-21", 109720L,            "Ablabesmyia rhamphe grp.",     3L,
        "6/2/2008", "loc-21", 109721L,            "Ablabesmyia rhamphe grp.",     8L,
        "6/2/2008", "loc-21", 109719L,                     "Ablabesmyia sp.",     1L,
        "6/2/2008", "loc-21", 109721L,                       "Arrenurus sp.",     5L,
        "6/2/2008", "loc-21", 109720L,                       "Cernotina sp.",     1L,
        "6/2/2008", "loc-21", 109719L,                       "Cernotina sp.",     1L,
        "6/2/2008", "loc-21", 109721L,                       "Cernotina sp.",     1L,
        "6/2/2008", "loc-21", 109720L,                      "Chironomus sp.",     1L,
        "6/2/2008", "loc-21", 109721L,                "Cryptochironomus sp.",     2L,
        "6/2/2008", "loc-21", 109720L,                "Cryptochironomus sp.",     1L,
        "6/2/2008", "loc-21", 109721L,              "Dicrotendipes simpsoni",     9L,
        "6/2/2008", "loc-21", 109721L,                   "Dicrotendipes sp.",     2L,
        "6/2/2008", "loc-21", 109721L,                   "FAMILY: ANCYLIDAE",     1L,
        "6/2/2008", "loc-21", 109720L,             "FAMILY: CERATOPOGONIDAE",     1L,
        "6/2/2008", "loc-21", 109719L,              "FAMILY: COENAGRIONIDAE",     1L,
        "6/2/2008", "loc-21", 109719L,               "FAMILY: HEPTAGENIIDAE",     1L,
        "6/2/2008", "loc-21", 109721L,               "FAMILY: HEPTAGENIIDAE",     1L,
        "6/2/2008", "loc-21", 109720L,                  "Glyptotendipes sp.",     1L,
        "6/2/2008", "loc-21", 109720L,                "Goeldichironomus sp.",     1L,
        "6/2/2008", "loc-21", 109721L,            "Hebetancylus excentricus",     1L,
        "6/2/2008", "loc-21", 109721L,             "Hyalella azteca complex",    43L,
        "6/2/2008", "loc-21", 109719L,             "Hyalella azteca complex",    18L,
        "6/2/2008", "loc-21", 109720L,             "Hyalella azteca complex",    26L,
        "6/2/2008", "loc-21", 109721L,                     "Kiefferulus sp.",     2L,
        "6/2/2008", "loc-21", 109721L,                     "Labrundinia sp.",     1L,
        "6/2/2008", "loc-21", 109719L,                   "Maccaffertium sp.",     5L,
        "6/2/2008", "loc-21", 109721L,                      "Nilothauma sp.",     1L,
        "6/2/2008", "loc-21", 109720L,                      "Nilothauma sp.",     1L,
        "6/2/2008", "loc-21", 109720L,                 "Oecetis cinerascens",     1L,
        "6/2/2008", "loc-21", 109719L,                 "Oecetis cinerascens",     1L,
        "6/2/2008", "loc-21", 109721L,                         "Oecetis sp.",     1L,
        "6/2/2008", "loc-21", 109721L,                  "ORDER: ACARIFORMES",     1L,
        "6/2/2008", "loc-21", 109721L, "Paralauterborniella nigrohalteralis",     2L,
        "6/2/2008", "loc-21", 109720L, "Paralauterborniella nigrohalteralis",     1L,
        "6/2/2008", "loc-21", 109721L,                "Paranyctiophylax sp.",     9L,
        "6/2/2008", "loc-21", 109720L,                "Paranyctiophylax sp.",    15L,
        "6/2/2008", "loc-21", 109719L,                "Paranyctiophylax sp.",     8L,
        "6/2/2008", "loc-21", 109721L,              "Pentaneura inconspicua",     1L,
        "6/2/2008", "loc-21", 109721L,             "Polypedilum fallax grp.",    17L,
        "6/2/2008", "loc-21", 109720L,             "Polypedilum fallax grp.",     4L,
        "6/2/2008", "loc-21", 109719L,          "Polypedilum scalaenum grp.",     3L,
        "6/2/2008", "loc-21", 109720L,          "Polypedilum scalaenum grp.",    16L,
        "6/2/2008", "loc-21", 109721L,          "Polypedilum scalaenum grp.",    32L,
        "6/2/2008", "loc-21", 109721L,                     "Polypedilum sp.",     2L,
        "6/2/2008", "loc-21", 109721L,                      "Procladius sp.",     1L,
        "6/2/2008", "loc-21", 109720L,               "Slavina appendiculata",     2L,
        "6/2/2008", "loc-21", 109720L,                       "Stenacron sp.",     2L,
        "6/2/2008", "loc-21", 109719L,                 "Stenochironomus sp.",     7L,
        "6/2/2008", "loc-21", 109720L,                 "Stenochironomus sp.",    30L,
        "6/2/2008", "loc-21", 109721L,             "SUBFAMILY: CHIRONOMINAE",     5L,
        "6/2/2008", "loc-21", 109720L,             "SUBFAMILY: CHIRONOMINAE",     3L,
        "6/2/2008", "loc-21", 109719L,             "SUBFAMILY: CHIRONOMINAE",     1L,
        "6/2/2008", "loc-21", 109720L,                 "SUBFAMILY: NAIDINAE",     1L,
        "6/2/2008", "loc-21", 109720L,                      "Tanytarsus sp.",     3L,
        "6/2/2008", "loc-21", 109719L,                      "Tanytarsus sp.",     1L,
        "6/2/2008", "loc-21", 109721L,                      "Tanytarsus sp.",     5L,
        "6/2/2008", "loc-21", 109719L,                    "Tanytarsus sp. A",     2L,
        "6/2/2008", "loc-21", 109720L,                    "Tanytarsus sp. A",    20L,
        "6/2/2008", "loc-21", 109720L,                    "Tanytarsus sp. C",     3L,
        "6/2/2008", "loc-21", 109720L,                    "Tanytarsus sp. L",     1L,
        "6/2/2008", "loc-21", 109720L,                        "Tribelos sp.",     1L,
        "6/2/2008", "loc-21", 109719L,                        "Tribelos sp.",     1L
       )

df$date <- as.Date(macros$date, format = "%m/%d/%Y")
#> Error in as.Date(macros$date, format = "%m/%d/%Y"): object 'macros' not found
df$site <- as.factor(df$site)
df$labno <- as.factor(df$labno)
df$GenusSpecies <-as.factor(df$GenusSpecies)

output <- df %>%
  group_by(site, date, labno) %>%
  # group_by(site, date, labno, GenusSpecies) %>%
  summarise(counts = sum(Tally),
            reps = count(labno),
            means = counts/reps)
#> Error in df %>% group_by(site, date, labno) %>% summarise(counts = sum(Tally), : could not find function "%>%"

Created on 2023-03-29 by the reprex package (v2.0.1)

If you need to know the number of animals and the number of species collected per day, why are you grouping by the labno? Why not just group by the date? What am I missing?

@FJCC Thank you for your response.

In my example these data are from one to three samples per day.

Grouping by date is good for getting number of species per day, but I really need number per sample, so I can compare results normalized by the number of samples ("labno").

Do I make the data wide, based on "labno"?

thanks

I had a go at trying to figure out what you want. let me know how close I got.

df <- tibble::tribble(
  ~date, ~site, ~labno, ~GenusSpecies, ~Tally,
  "5/27/2008", "loc-6", 109072L, "Caenis sp.", 1L,
  "5/27/2008", "loc-6", 109072L, "Chironomus sp.", 1L,
  "5/27/2008", "loc-6", 109071L, "Chironomus sp.", 1L,
  "5/27/2008", "loc-6", 109072L, "FAMILY: COENAGRIONIDAE", 1L,
  "5/27/2008", "loc-6", 109071L, "Haemonais waldvogeli", 1L,
  "5/27/2008", "loc-6", 109071L, "Laevapex sp.", 1L,
  "5/27/2008", "loc-6", 109070L, "Micromenetus dilatatus dilatus", 1L,
  "5/27/2008", "loc-6", 109071L, "SUBFAMILY: NAIDINAE", 1L,
  "5/27/2008", "loc-6", 109072L, "SUBFAMILY: NAIDINAE", 1L,
  "5/27/2008", "loc-6", 109070L, "Zavreliella marmorata", 4L,
  "5/27/2008", "loc-6", 109071L, "Zavreliella marmorata", 1L,
  "6/2/2008", "loc-21", 109721L, "Ablabesmyia mallochi", 3L,
  "6/2/2008", "loc-21", 109720L, "Ablabesmyia mallochi", 3L,
  "6/2/2008", "loc-21", 109720L, "Ablabesmyia rhamphe grp.", 3L,
  "6/2/2008", "loc-21", 109721L, "Ablabesmyia rhamphe grp.", 8L,
  "6/2/2008", "loc-21", 109719L, "Ablabesmyia sp.", 1L,
  "6/2/2008", "loc-21", 109721L, "Arrenurus sp.", 5L,
  "6/2/2008", "loc-21", 109720L, "Cernotina sp.", 1L,
  "6/2/2008", "loc-21", 109719L, "Cernotina sp.", 1L,
  "6/2/2008", "loc-21", 109721L, "Cernotina sp.", 1L,
  "6/2/2008", "loc-21", 109720L, "Chironomus sp.", 1L,
  "6/2/2008", "loc-21", 109721L, "Cryptochironomus sp.", 2L,
  "6/2/2008", "loc-21", 109720L, "Cryptochironomus sp.", 1L,
  "6/2/2008", "loc-21", 109721L, "Dicrotendipes simpsoni", 9L,
  "6/2/2008", "loc-21", 109721L, "Dicrotendipes sp.", 2L,
  "6/2/2008", "loc-21", 109721L, "FAMILY: ANCYLIDAE", 1L,
  "6/2/2008", "loc-21", 109720L, "FAMILY: CERATOPOGONIDAE", 1L,
  "6/2/2008", "loc-21", 109719L, "FAMILY: COENAGRIONIDAE", 1L,
  "6/2/2008", "loc-21", 109719L, "FAMILY: HEPTAGENIIDAE", 1L,
  "6/2/2008", "loc-21", 109721L, "FAMILY: HEPTAGENIIDAE", 1L,
  "6/2/2008", "loc-21", 109720L, "Glyptotendipes sp.", 1L,
  "6/2/2008", "loc-21", 109720L, "Goeldichironomus sp.", 1L,
  "6/2/2008", "loc-21", 109721L, "Hebetancylus excentricus", 1L,
  "6/2/2008", "loc-21", 109721L, "Hyalella azteca complex", 43L,
  "6/2/2008", "loc-21", 109719L, "Hyalella azteca complex", 18L,
  "6/2/2008", "loc-21", 109720L, "Hyalella azteca complex", 26L,
  "6/2/2008", "loc-21", 109721L, "Kiefferulus sp.", 2L,
  "6/2/2008", "loc-21", 109721L, "Labrundinia sp.", 1L,
  "6/2/2008", "loc-21", 109719L, "Maccaffertium sp.", 5L,
  "6/2/2008", "loc-21", 109721L, "Nilothauma sp.", 1L,
  "6/2/2008", "loc-21", 109720L, "Nilothauma sp.", 1L,
  "6/2/2008", "loc-21", 109720L, "Oecetis cinerascens", 1L,
  "6/2/2008", "loc-21", 109719L, "Oecetis cinerascens", 1L,
  "6/2/2008", "loc-21", 109721L, "Oecetis sp.", 1L,
  "6/2/2008", "loc-21", 109721L, "ORDER: ACARIFORMES", 1L,
  "6/2/2008", "loc-21", 109721L, "Paralauterborniella nigrohalteralis", 2L,
  "6/2/2008", "loc-21", 109720L, "Paralauterborniella nigrohalteralis", 1L,
  "6/2/2008", "loc-21", 109721L, "Paranyctiophylax sp.", 9L,
  "6/2/2008", "loc-21", 109720L, "Paranyctiophylax sp.", 15L,
  "6/2/2008", "loc-21", 109719L, "Paranyctiophylax sp.", 8L,
  "6/2/2008", "loc-21", 109721L, "Pentaneura inconspicua", 1L,
  "6/2/2008", "loc-21", 109721L, "Polypedilum fallax grp.", 17L,
  "6/2/2008", "loc-21", 109720L, "Polypedilum fallax grp.", 4L,
  "6/2/2008", "loc-21", 109719L, "Polypedilum scalaenum grp.", 3L,
  "6/2/2008", "loc-21", 109720L, "Polypedilum scalaenum grp.", 16L,
  "6/2/2008", "loc-21", 109721L, "Polypedilum scalaenum grp.", 32L,
  "6/2/2008", "loc-21", 109721L, "Polypedilum sp.", 2L,
  "6/2/2008", "loc-21", 109721L, "Procladius sp.", 1L,
  "6/2/2008", "loc-21", 109720L, "Slavina appendiculata", 2L,
  "6/2/2008", "loc-21", 109720L, "Stenacron sp.", 2L,
  "6/2/2008", "loc-21", 109719L, "Stenochironomus sp.", 7L,
  "6/2/2008", "loc-21", 109720L, "Stenochironomus sp.", 30L,
  "6/2/2008", "loc-21", 109721L, "SUBFAMILY: CHIRONOMINAE", 5L,
  "6/2/2008", "loc-21", 109720L, "SUBFAMILY: CHIRONOMINAE", 3L,
  "6/2/2008", "loc-21", 109719L, "SUBFAMILY: CHIRONOMINAE", 1L,
  "6/2/2008", "loc-21", 109720L, "SUBFAMILY: NAIDINAE", 1L,
  "6/2/2008", "loc-21", 109720L, "Tanytarsus sp.", 3L,
  "6/2/2008", "loc-21", 109719L, "Tanytarsus sp.", 1L,
  "6/2/2008", "loc-21", 109721L, "Tanytarsus sp.", 5L,
  "6/2/2008", "loc-21", 109719L, "Tanytarsus sp. A", 2L,
  "6/2/2008", "loc-21", 109720L, "Tanytarsus sp. A", 20L,
  "6/2/2008", "loc-21", 109720L, "Tanytarsus sp. C", 3L,
  "6/2/2008", "loc-21", 109720L, "Tanytarsus sp. L", 1L,
  "6/2/2008", "loc-21", 109720L, "Tribelos sp.", 1L,
  "6/2/2008", "loc-21", 109719L, "Tribelos sp.", 1L
)

# summary of species each day
group_by(
  df,
  date, GenusSpecies
) |> count()

# number of species dollected each day
distinct(
  df,
  date,
  GenusSpecies
) |> count(date)

# number of animals dollected each day
group_by(
  df,
  date
) |> summarise(sum_total = sum(Tally))


table(df$labno)
# the above but first splitting by sample/labno

# summary of species each day per lab
split(
  df,
  ~labno
) |>
  map(.f = \(x){
    group_by(
      x,
      date, GenusSpecies
    ) |> count()
  }) |>
  bind_rows(.id = "labno") |>
  pivot_wider(
    names_from = "labno",
    values_from = "n"
  )

# number of species dollected each day
split(
  df,
  ~labno
) |>
  map(.f = \(x){
    distinct(
      x,
      date,
      GenusSpecies
    ) |> count(date)
  }) |>
  bind_rows(.id = "labno") |>
  pivot_wider(
    names_from = "labno",
    values_from = "n"
  )

# number of animals dollected each day
split(
  df,
  ~labno
) |>
  map(.f = \(x){
    group_by(
      x,
      date
    ) |> summarise(sum_total = sum(Tally))
  }) |>
  bind_rows(.id = "labno") |>
  pivot_wider(
    names_from = "labno",
    values_from = "sum_total"
  )

@nirgrahamuk --thank you for your help.

I was able to run your code, and get a proper output.

But, what I need, for example, is the average of '109070', '109071' and '109072', for both number of taxa:
image

and individual species::

I don't know if I understood correctly:

library(tidyverse)

df<- tibble::tribble(
  ~date,    ~site,  ~labno,                         ~GenusSpecies, ~Tally,
  "5/27/2008",  "loc-6", 109072L,                          "Caenis sp.",     1L,
  "5/27/2008",  "loc-6", 109072L,                      "Chironomus sp.",     1L,
  "5/27/2008",  "loc-6", 109071L,                      "Chironomus sp.",     1L,
  "5/27/2008",  "loc-6", 109072L,              "FAMILY: COENAGRIONIDAE",     1L,
  "5/27/2008",  "loc-6", 109071L,                "Haemonais waldvogeli",     1L,
  "5/27/2008",  "loc-6", 109071L,                        "Laevapex sp.",     1L,
  "5/27/2008",  "loc-6", 109070L,      "Micromenetus dilatatus dilatus",     1L,
  "5/27/2008",  "loc-6", 109071L,                 "SUBFAMILY: NAIDINAE",     1L,
  "5/27/2008",  "loc-6", 109072L,                 "SUBFAMILY: NAIDINAE",     1L,
  "5/27/2008",  "loc-6", 109070L,               "Zavreliella marmorata",     4L,
  "5/27/2008",  "loc-6", 109071L,               "Zavreliella marmorata",     1L,
  "6/2/2008", "loc-21", 109721L,                "Ablabesmyia mallochi",     3L,
  "6/2/2008", "loc-21", 109720L,                "Ablabesmyia mallochi",     3L,
  "6/2/2008", "loc-21", 109720L,            "Ablabesmyia rhamphe grp.",     3L,
  "6/2/2008", "loc-21", 109721L,            "Ablabesmyia rhamphe grp.",     8L,
  "6/2/2008", "loc-21", 109719L,                     "Ablabesmyia sp.",     1L,
  "6/2/2008", "loc-21", 109721L,                       "Arrenurus sp.",     5L,
  "6/2/2008", "loc-21", 109720L,                       "Cernotina sp.",     1L,
  "6/2/2008", "loc-21", 109719L,                       "Cernotina sp.",     1L,
  "6/2/2008", "loc-21", 109721L,                       "Cernotina sp.",     1L,
  "6/2/2008", "loc-21", 109720L,                      "Chironomus sp.",     1L,
  "6/2/2008", "loc-21", 109721L,                "Cryptochironomus sp.",     2L,
  "6/2/2008", "loc-21", 109720L,                "Cryptochironomus sp.",     1L,
  "6/2/2008", "loc-21", 109721L,              "Dicrotendipes simpsoni",     9L,
  "6/2/2008", "loc-21", 109721L,                   "Dicrotendipes sp.",     2L,
  "6/2/2008", "loc-21", 109721L,                   "FAMILY: ANCYLIDAE",     1L,
  "6/2/2008", "loc-21", 109720L,             "FAMILY: CERATOPOGONIDAE",     1L,
  "6/2/2008", "loc-21", 109719L,              "FAMILY: COENAGRIONIDAE",     1L,
  "6/2/2008", "loc-21", 109719L,               "FAMILY: HEPTAGENIIDAE",     1L,
  "6/2/2008", "loc-21", 109721L,               "FAMILY: HEPTAGENIIDAE",     1L,
  "6/2/2008", "loc-21", 109720L,                  "Glyptotendipes sp.",     1L,
  "6/2/2008", "loc-21", 109720L,                "Goeldichironomus sp.",     1L,
  "6/2/2008", "loc-21", 109721L,            "Hebetancylus excentricus",     1L,
  "6/2/2008", "loc-21", 109721L,             "Hyalella azteca complex",    43L,
  "6/2/2008", "loc-21", 109719L,             "Hyalella azteca complex",    18L,
  "6/2/2008", "loc-21", 109720L,             "Hyalella azteca complex",    26L,
  "6/2/2008", "loc-21", 109721L,                     "Kiefferulus sp.",     2L,
  "6/2/2008", "loc-21", 109721L,                     "Labrundinia sp.",     1L,
  "6/2/2008", "loc-21", 109719L,                   "Maccaffertium sp.",     5L,
  "6/2/2008", "loc-21", 109721L,                      "Nilothauma sp.",     1L,
  "6/2/2008", "loc-21", 109720L,                      "Nilothauma sp.",     1L,
  "6/2/2008", "loc-21", 109720L,                 "Oecetis cinerascens",     1L,
  "6/2/2008", "loc-21", 109719L,                 "Oecetis cinerascens",     1L,
  "6/2/2008", "loc-21", 109721L,                         "Oecetis sp.",     1L,
  "6/2/2008", "loc-21", 109721L,                  "ORDER: ACARIFORMES",     1L,
  "6/2/2008", "loc-21", 109721L, "Paralauterborniella nigrohalteralis",     2L,
  "6/2/2008", "loc-21", 109720L, "Paralauterborniella nigrohalteralis",     1L,
  "6/2/2008", "loc-21", 109721L,                "Paranyctiophylax sp.",     9L,
  "6/2/2008", "loc-21", 109720L,                "Paranyctiophylax sp.",    15L,
  "6/2/2008", "loc-21", 109719L,                "Paranyctiophylax sp.",     8L,
  "6/2/2008", "loc-21", 109721L,              "Pentaneura inconspicua",     1L,
  "6/2/2008", "loc-21", 109721L,             "Polypedilum fallax grp.",    17L,
  "6/2/2008", "loc-21", 109720L,             "Polypedilum fallax grp.",     4L,
  "6/2/2008", "loc-21", 109719L,          "Polypedilum scalaenum grp.",     3L,
  "6/2/2008", "loc-21", 109720L,          "Polypedilum scalaenum grp.",    16L,
  "6/2/2008", "loc-21", 109721L,          "Polypedilum scalaenum grp.",    32L,
  "6/2/2008", "loc-21", 109721L,                     "Polypedilum sp.",     2L,
  "6/2/2008", "loc-21", 109721L,                      "Procladius sp.",     1L,
  "6/2/2008", "loc-21", 109720L,               "Slavina appendiculata",     2L,
  "6/2/2008", "loc-21", 109720L,                       "Stenacron sp.",     2L,
  "6/2/2008", "loc-21", 109719L,                 "Stenochironomus sp.",     7L,
  "6/2/2008", "loc-21", 109720L,                 "Stenochironomus sp.",    30L,
  "6/2/2008", "loc-21", 109721L,             "SUBFAMILY: CHIRONOMINAE",     5L,
  "6/2/2008", "loc-21", 109720L,             "SUBFAMILY: CHIRONOMINAE",     3L,
  "6/2/2008", "loc-21", 109719L,             "SUBFAMILY: CHIRONOMINAE",     1L,
  "6/2/2008", "loc-21", 109720L,                 "SUBFAMILY: NAIDINAE",     1L,
  "6/2/2008", "loc-21", 109720L,                      "Tanytarsus sp.",     3L,
  "6/2/2008", "loc-21", 109719L,                      "Tanytarsus sp.",     1L,
  "6/2/2008", "loc-21", 109721L,                      "Tanytarsus sp.",     5L,
  "6/2/2008", "loc-21", 109719L,                    "Tanytarsus sp. A",     2L,
  "6/2/2008", "loc-21", 109720L,                    "Tanytarsus sp. A",    20L,
  "6/2/2008", "loc-21", 109720L,                    "Tanytarsus sp. C",     3L,
  "6/2/2008", "loc-21", 109720L,                    "Tanytarsus sp. L",     1L,
  "6/2/2008", "loc-21", 109720L,                        "Tribelos sp.",     1L,
  "6/2/2008", "loc-21", 109719L,                        "Tribelos sp.",     1L
)


df %>% 
  group_by(date, labno) %>% 
  summarise(n=n())

output

# A tibble: 6 × 3
# Groups:   date [2]
  date       labno     n
  <chr>      <int> <int>
1 5/27/2008 109070     2
2 5/27/2008 109071     5
3 5/27/2008 109072     4
4 6/2/2008  109719    14
5 6/2/2008  109720    25
6 6/2/2008  109721    25

And also

df %>% 
  group_by(date, labno, GenusSpecies) %>% 
  summarise(n=n())

output

# A tibble: 75 × 4
# Groups:   date, labno [6]
   date       labno GenusSpecies                       n
   <chr>      <int> <chr>                          <int>
 1 5/27/2008 109070 Micromenetus dilatatus dilatus     1
 2 5/27/2008 109070 Zavreliella marmorata              1
 3 5/27/2008 109071 Chironomus sp.                     1
 4 5/27/2008 109071 Haemonais waldvogeli               1
 5 5/27/2008 109071 Laevapex sp.                       1
 6 5/27/2008 109071 SUBFAMILY: NAIDINAE                1
 7 5/27/2008 109071 Zavreliella marmorata              1
 8 5/27/2008 109072 Caenis sp.                         1
 9 5/27/2008 109072 Chironomus sp.                     1
10 5/27/2008 109072 FAMILY: COENAGRIONIDAE             1
# … with 65 more rows
# ℹ Use `print(n = ...)` to see more rows

this is in someways easier; taking this one example; instead of pivoting we just average


# number of animals dollected each day
split(
  df,
  ~labno
) |>
  map(.f = \(x){
    group_by(
      x,
      date
    ) |> summarise(sum_total = sum(Tally))
  }) |>
  bind_rows(.id = "labno") |>
  group_by(date) |> 
  summarise(avg_by_lab=mean(sum_total))

@nirgrahamuk --Thanks again. Your code is much more elegant (I have not used "split" before).

However, last night, I figured I was overthinking it.

I basically created two "summarise" steps. I found I could do this for the overall counts and sums, but for the GenusSpecies, I had to to it in two steps. This worked for me, I just found it odd, I had to do it in two steps for "GenusSpecies"

Thanks again!

test2 <- df %>%
  group_by(site, date, labno) %>%
  summarise(counts = n(),
            totals = sum(Tally)) %>%
  summarise(counts = mean(counts),
            totals = mean(totals))
#> Error in df %>% group_by(site, date, labno) %>% summarise(counts = n(), : could not find function "%>%"

## Now by species--have to do it in two steps!
test5 <- df %>%
  group_by(site, date, labno, GenusSpecies) %>%
  summarise(totals = sum(Tally))  
#> Error in df %>% group_by(site, date, labno, GenusSpecies) %>% summarise(totals = sum(Tally)): could not find function "%>%"
 
test6 <- test5 %>%
  group_by(site, date, GenusSpecies) %>%
  summarise(mean.counts = mean(totals))
#> Error in test5 %>% group_by(site, date, GenusSpecies) %>% summarise(mean.counts = mean(totals)): could not find function "%>%"

Created on 2023-03-30 by the reprex package (v2.0.1)

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.