Это типичная проблема для аналитиков бюджета Конгресса, работающих с грязными данными .
В кадре данных показаны запрошенные и утвержденные суммы для каждого элемента.
Разрешенная сумма иногда больше или меньше запрашиваемой суммы.Когда это происходит, корректировки (с пояснительным текстом, не включенным здесь) отображаются в скобках ниже итоговой суммы.
Например, в приведенном ниже кадре данных авторизаторы корректировали запрошенную сумму для элемента "a" (80 requested) by +19 and +1
.После этих корректировок общая разрешенная сумма для «а» составила 100.
80 requested + (19 authorized + 1 authorized) = 100 total authorized.
Цель: я хотел бы скорректировать разрешенные суммы с помощью чисел в скобках.
library(tidyverse)
## DATA
df <- tribble(
~item, ~requested_amount, ~authorized_amount,
"a", 80, "100", #< Total
"a", NA, "[19]", #< Adjustment from request
"a", NA, "[1]", #< Adjustment from request
"b", 300, "300", #< Total (no adjustment)
"c", 80, "70", #< Total
"c", NA, "[-10]" #< Adjustment from request
)
#> # A tibble: 6 x 3
#> item requested_amount authorized_amount
#> <chr> <dbl> <chr>
#> 1 a 80 100
#> 2 a NA [19]
#> 3 a NA [1]
#> 4 b 300 300
#> 5 c 80 70
#> 6 c NA [-10]
Желаемый результат будет рассматривать суммы в скобках как реальные корректировки:
разрешенная сумма для позиции "a" = (80 + 19 + 1) = 100
#> item requested_amount authorized_amount
#> <chr> <dbl> <dbl>
#> 1 a 80 80 #< Together...
#> 2 a NA 19 #< these add...
#> 3 a NA 1 #< to 100 for item "a"
#> 4 b 300 300
#> 5 c 80 70
#> 6 c NA - 10
Создана в 2018-06-07 пакетом представить (v0.2.0).