Кадр данных в группе R по дублированным значениям в столбце - PullRequest
0 голосов
/ 18 октября 2019

Я изо всех сил пытаюсь выполнить операцию суммирования / подсчета в кадре данных в R.

Я полагаю, что это вызвано тем фактом, что в столбце A есть значения, которые сопоставлены как минимум с двумя записямив столбце B.

Пример dput ниже:

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")

Я пробовал пакет dplyr, особенно group_by и функцию summaze. Но я получаю сообщение об ошибке, подобное этому:

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

Вот что я пробовал:

output <- output %>% group_by(objective_1) %>% count(output$exercise_id)

1 Ответ

0 голосов
/ 18 октября 2019

Есть несколько способов сделать это. Если мы хотим увидеть, сколько уникальных значений exercise_id находятся в группах, определенных как objective_1, мы могли бы использовать 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

Другой вариант мог бы заключаться в использовании count() только для вашегоobjective_1 переменная:

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

Аналогично, базовая опция table():

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

Наконец, мне очень нравится функция tabyl() в 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

Надеюсь, это поможет!

...