0
votes

I am struggling to perform a summarise/count operation in a dataframe in R.

I believe that this is caused by the fact that there are values in column A, which are mapped to at least two entries in column B.

A sample dput below:

structure(list(exercise_id = c(10026L, 10027L, 10028L, 10029L, 
10030L, 10031L, 10032L, 10033L, 10034L, 10035L, 10036L, 10037L, 
10038L, 10039L, 10040L, 10041L, 10042L, 10043L, 10044L, 10045L, 
10046L, 10047L, 10048L, 10049L, 10050L, 10051L, 10052L, 10053L, 
10054L, 10060L, 10061L, 10062L, 10063L, 10064L, 10065L, 10066L, 
10067L, 10068L, 10069L, 10070L, 10071L, 10072L, 10073L, 10074L, 
10075L, 10076L, 10077L, 10078L, 10079L, 10080L, 10087L, 10088L, 
10089L, 10090L, 10091L, 10092L, 10093L, 10094L, 10095L, 10096L, 
10097L, 10098L, 10099L, 10100L, 10101L, 10102L, 10103L, 10104L, 
10105L, 10105L, 10107L, 10108L, 10109L, 10110L, 10111L, 10112L, 
10114L, 10115L, 10116L, 10117L, 10118L, 10119L, 10120L, 10121L, 
10122L, 10123L, 10124L, 10125L, 10126L, 10127L, 10128L, 10129L, 
10130L, 10131L, 10132L, 10133L, 10134L, 10136L, 10137L, 10138L, 
10139L, 10140L, 10141L, 10142L, 10143L, 10144L, 10145L, 10146L, 
10147L, 10148L, 10149L, 10150L, 10151L, 10152L, 10153L, 10155L, 
10156L, 10157L, 10158L, 10159L, 10160L, 10161L, 10162L, 10163L, 
10164L, 10165L, 10166L, 10167L, 10168L, 10169L, 10170L, 10171L, 
10172L, 10173L, 10174L, 10175L, 10176L, 10177L, 10178L, 10179L, 
10180L, 10181L, 10182L, 10183L, 10184L, 10185L, 10187L, 10188L, 
10189L, 10190L, 10194L, 10195L, 10196L, 10197L, 10198L, 10199L, 
10200L, 10201L, 10202L, 10203L, 10204L, 10205L, 10206L, 10214L, 
10215L, 10216L, 10217L, 10218L, 10219L, 10220L, 10221L, 10221L, 
10223L, 10224L, 10225L, 10226L, 10227L, 10228L, 10229L, 10235L, 
10236L, 10237L, 10238L, 10239L, 10378L, 10379L, 10380L, 10381L, 
10382L, 10383L, 10384L, 10385L, 10386L, 10387L, 10388L, 10389L, 
10390L, 10391L, 10392L, 10393L, 10394L, 10395L, 10396L, 10397L, 
10398L, 10399L, 10400L, 10401L, 10402L, 10403L, 10404L, 10405L, 
10462L, 10463L, 10464L, 10465L, 10466L, 10467L, 10468L, 10469L, 
10470L, 10471L, 10472L, 10473L, 10474L, 10475L, 10476L, 10477L, 
10478L, 10479L, 10480L, 10481L, 10482L, 10483L, 10484L, 10485L, 
10486L, 10487L, 10488L, 10489L, 10490L, 10491L, 10492L, 10493L, 
10494L, 10495L, 10496L, 10497L, 10498L, 10499L), objective_1 = c("Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Działania na liczbach naturalnych.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Liczby naturalne w dziesiątkowym układzie pozycyjnym.", 
"Liczby naturalne w dziesiątkowym układzie pozycyjnym.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych.", "Działania na liczbach naturalnych.", 
"Działania na liczbach naturalnych."), nested_level = c(0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), row.names = c(27892L, 27893L, 
27894L, 27895L, 27896L, 27897L, 27898L, 27899L, 27900L, 27901L, 
27902L, 27903L, 28058L, 28059L, 28061L, 28063L, 28064L, 28065L, 
28066L, 28067L, 28068L, 28069L, 28071L, 28072L, 28246L, 28247L, 
28248L, 28249L, 28075L, 42795L, 42797L, 42799L, 42801L, 27904L, 
28076L, 28077L, 28078L, 28255L, 28257L, 28259L, 28260L, 28261L, 
28403L, 28405L, 28407L, 28335L, 28336L, 42805L, 42807L, 28392L, 
27917L, 27919L, 27921L, 27923L, 28082L, 28083L, 28085L, 28087L, 
28089L, 28091L, 28093L, 28095L, 28097L, 28098L, 28099L, 28272L, 
28401L, 28402L, 28404L, 42858L, 28356L, 42812L, 42813L, 42814L, 
42815L, 42791L, 27881L, 27882L, 27883L, 27884L, 27885L, 27886L, 
28040L, 27887L, 27888L, 28041L, 28042L, 28043L, 28044L, 28045L, 
28251L, 28252L, 28253L, 28254L, 28256L, 28258L, 28046L, 28354L, 
28355L, 28423L, 28424L, 28426L, 28427L, 28428L, 28429L, 28412L, 
28413L, 28414L, 28415L, 28101L, 28416L, 28102L, 28417L, 42808L, 
42809L, 28309L, 28310L, 28311L, 28312L, 28313L, 28314L, 28315L, 
28316L, 28317L, 28318L, 28319L, 28320L, 28321L, 28322L, 28323L, 
28324L, 28325L, 28326L, 28328L, 28330L, 28332L, 28294L, 28296L, 
28298L, 28300L, 28073L, 28074L, 28250L, 28345L, 28347L, 28349L, 
42831L, 42832L, 42834L, 42835L, 42836L, 27906L, 27907L, 27908L, 
28079L, 28080L, 28081L, 28262L, 28406L, 28425L, 42803L, 42804L, 
42806L, 28306L, 28307L, 28308L, 42810L, 42811L, 27925L, 27927L, 
28396L, 42859L, 28266L, 28397L, 28350L, 28351L, 28352L, 27928L, 
28100L, 42839L, 42841L, 42843L, 42846L, 42850L, 28124L, 28125L, 
28127L, 28129L, 28131L, 28132L, 28133L, 28134L, 27961L, 27962L, 
27963L, 27964L, 27966L, 27968L, 28135L, 28137L, 28139L, 28141L, 
28142L, 28143L, 28144L, 28145L, 28146L, 28147L, 28148L, 28111L, 
28113L, 28116L, 27988L, 27989L, 27990L, 27991L, 27992L, 27993L, 
27995L, 27996L, 27997L, 27998L, 27999L, 28002L, 28005L, 28007L, 
28170L, 28173L, 28176L, 28179L, 28181L, 28182L, 28183L, 28184L, 
28185L, 28187L, 28118L, 28190L, 28191L, 28192L, 28119L, 28120L, 
28022L, 28121L, 28122L, 28123L, 28016L, 28110L, 28019L, 28112L
), class = "data.frame")

I have tried the dplyr package, especially the group_by and summarise function. But I get an error message like this:

Column `output$exercise_id` must be length 14 (the group size) or one, not 83329

This is what I have tried:

output <- output %>% group_by(objective_1) %>% count(output$exercise_id)
1
Don't think you need the $ to reference exercise_id in count(). Give this a try: output <- output %>% group_by(objective_1) %>% count(exercise_id)tomasu
Hi tomasu, this works fine, but it does not really group the data, because the count will always be 1. I would like to see for example that for objective a the count is 12, for objective b the count is 8...RlikeRun

1 Answers

0
votes

There are a few ways we could go about this. If we want to see how many unique values of exercise_id are within the groups defined by objective_1 we could use n_distinct():

library(dplyr)

output %>% 
  group_by(objective_1) %>% 
  summarise(total = n_distinct(exercise_id))
#> # A tibble: 2 x 2
#>   objective_1                                           total
#>   <chr>                                                 <int>
#> 1 Dzialania na liczbach naturalnych.                      220
#> 2 Liczby naturalne w dziesiatkowym ukladzie pozycyjnym.    30

Another option could be to use count() on just your objective_1 variable:

output %>% 
  count(objective_1)
#> # A tibble: 2 x 2
#>   objective_1                                               n
#>   <chr>                                                 <int>
#> 1 Dzialania na liczbach naturalnych.                      220
#> 2 Liczby naturalne w dziesiatkowym ukladzie pozycyjnym.    30

Similarly, a base option is table():

table(output$objective_1)
#> 
#>                    Dzialania na liczbach naturalnych. 
#>                                                   220 
#> Liczby naturalne w dziesiatkowym ukladzie pozycyjnym. 
#>                                                    30

Finally, I am quite fond of the tabyl() function in library(janitor):

library(janitor)

output %>% 
  tabyl(objective_1)
#>                                            objective_1   n percent
#>                     Dzialania na liczbach naturalnych. 220    0.88
#>  Liczby naturalne w dziesiatkowym ukladzie pozycyjnym.  30    0.12

Hope this helps!