R组中的数据框,按列中的重复值

时间:2019-10-18 12:59:52

标签: r dataframe dplyr tidyr

我正在努力在R的数据框中执行汇总/计数操作。

我认为,这是由于A列中有值映射到B列中至少两个条目这一事实造成的。

以下示例输出:

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和summary函数。但我收到这样的错误消息:

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 :(得分:0)

有几种方法可以解决此问题。如果要查看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

希望这会有所帮助!