У меня есть набор данных с некоторыми дублирующимися записями, который я хочу изменить, чтобы он включал только уникальные комбинации значений, с колонкой dup_num
для указания количества дублирующихся записей и колонкой dup_rows
для указания, какие строки содержат дубликатыdata.
Я реализовал решение, основанное на Поиск дубликатов наблюдений выбранных переменных в таблице , но он выдает беспорядок предупреждений при приведении данных в столбец, содержащий список номеров строк, ксимвольный вектор.Сейчас не проблема, но я хочу показать эти данные с DT и Shiny, а предупреждения являются проблемой для этого приложения.
library(tidyverse)
df <- tibble(episode = 1:30,
day = rep(c("Mon", "Wed", "Fri"), 10),
name = rep(c(
"Moe", "Larry", "Curly", "Shemp", "extra"
), 6))
chr_dups <- as_mapper( ~ str_c(.x) %>%
str_remove_all("[c\\(\\)]"))
df %>%
nest(episode, .key = "dups") %>%
mutate(dup_num = map_dbl(dups, nrow),
dup_rows = map_chr(dups, chr_dups))
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> Warning in stri_c(..., sep = sep, collapse = collapse, ignore_null = TRUE):
#> argument is not an atomic vector; coercing
#> # A tibble: 15 x 5
#> day name dups dup_num dup_rows
#> <chr> <chr> <list> <dbl> <chr>
#> 1 Mon Moe <tibble [2 x 1]> 2 1, 16
#> 2 Wed Larry <tibble [2 x 1]> 2 2, 17
#> 3 Fri Curly <tibble [2 x 1]> 2 3, 18
#> 4 Mon Shemp <tibble [2 x 1]> 2 4, 19
#> 5 Wed extra <tibble [2 x 1]> 2 5, 20
#> 6 Fri Moe <tibble [2 x 1]> 2 6, 21
#> 7 Mon Larry <tibble [2 x 1]> 2 7, 22
#> 8 Wed Curly <tibble [2 x 1]> 2 8, 23
#> 9 Fri Shemp <tibble [2 x 1]> 2 9, 24
#> 10 Mon extra <tibble [2 x 1]> 2 10, 25
#> 11 Wed Moe <tibble [2 x 1]> 2 11, 26
#> 12 Fri Larry <tibble [2 x 1]> 2 12, 27
#> 13 Mon Curly <tibble [2 x 1]> 2 13, 28
#> 14 Wed Shemp <tibble [2 x 1]> 2 14, 29
#> 15 Fri extra <tibble [2 x 1]> 2 15, 30
Создано в 2019-09-19 Представить пакет (v0.3.0)
Я почти уверен, что проблема в as_mapper()
.
Ниже представлен представитель с репрезентативными игрушечными данными.Тиббл описывает некоторые эпизоды из «Трех марионеток», день, когда начался этот эпизод, и персонаж, который был главным героем в этом эпизоде.
Спасибо!