#r #dplyr #filter
#r #dplyr #Фильтр
Вопрос:
Я пытаюсь преобразовать эти данные в график, но я хочу подсчитать конкретное количество HMO
PPO
атрибутов or для сумм посещений (ноль, один, два, три, четыре, пять, Six_Plus). В моем df всего отключено 44 HMO и 179 PPO.
Visit_Amount | Reporting_product | Процент_Avg_Value |
---|---|---|
Один | HMO | 1.1% |
Два | HMO | 1.2% |
Три | HMO | 4.9% |
Четыре | HMO | 2% |
Пять | HMO | 10.5% |
Шесть | HMO | 79% |
Один | PPO | 1.1% |
Два | PPO | 1.2% |
Три | PPO | 2.2% |
Четыре | PPO | 2% |
Пять | PPO | 10.5% |
Шесть | PPO | 76.6% |
Код, который у меня есть до сих пор
library (tidyverse)
tidyr::pivot_longer(
cols = c("Zero", "One", "Two", "Three", "Four", "Five", "Six_Plus")
,names_to = "visit_amount",
values_to = "value") %>%
group_by(reporting_product, visit_amount) %>%
summarise(n_reporting_product = n()
, avg_value = mean(value)) %>%
ungroup() %>%
mutate(
n_reporting_product = as.numeric(sum (reporting_product == "PPO", reporting_product == "HMO"))
,percent_avg_value = scales::percent(avg_value, 0.01)) %>%
select(visit_amount, reporting_product, avg_value, percent_avg_value)
Я хочу рассчитать «сумму» для того, сколько планов «PPO» и планов «HMO» учитываются для каждого количества посещений. Например, вносят ли 2 плана HMO вклад в одно посещение?
Комментарии:
1. Добро пожаловать в SO! Не могли бы вы добавить воспроизводимый образец набора данных, используя
dput
?
Ответ №1:
Существует count
функция:
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
data <- tibble::tribble(
~Visit_Amount, ~Reporting_product, ~Percent_Avg_Value,
"One", "HMO", "1.1%",
"Two", "HMO", "1.2%",
"Three", "HMO", "4.9%",
"Four", "HMO", "2%",
"Five", "HMO", "10.5%",
"Six", "HMO", "79%",
"One", "PPO", "1.1%",
"Two", "PPO", "1.2%",
"Three", "PPO", "2.2%",
"Four", "PPO", "2%",
"Five", "PPO", "10.5%",
"Six", "PPO", "76.6%"
)
data %>% count(Reporting_product)
#> # A tibble: 2 x 2
#> Reporting_product n
#> <chr> <int>
#> 1 HMO 6
#> 2 PPO 6
data %>% count(Visit_Amount, Reporting_product)
#> # A tibble: 12 x 3
#> Visit_Amount Reporting_product n
#> <chr> <chr> <int>
#> 1 Five HMO 1
#> 2 Five PPO 1
#> 3 Four HMO 1
#> 4 Four PPO 1
#> 5 One HMO 1
#> 6 One PPO 1
#> 7 Six HMO 1
#> 8 Six PPO 1
#> 9 Three HMO 1
#> 10 Three PPO 1
#> 11 Two HMO 1
#> 12 Two PPO 1
Создано 2021-12-02 пакетом reprex (v2.0.1)
Комментарии:
1. ‘df’, с которым я работаю, равен 223 x 8. Всего 44 HMO и 179 PPO. Я хочу рассчитать, сколько HMO из 44 относятся к каждому количеству посещений, то же самое с PPO.
2. 223 столбца? Таблица, которую вы опубликовали в примере, не является вашими исходными данными примера? Размеры таблицы обычно указываются в количестве строк x количестве столбцов. Затем выполните
count
послеpivot_longer