R语言 计算差异值和中位数,并按2个值分组

hc2pp10m  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(179)

我有一个数据集,看起来像这样:
| 客户端ID|开始日期月份|提供者|
| --------------|--------------|--------------|
| 11234|2020年1月1日|A|
| 一三四五|2020年1月1日|B|
| 1567年|2020年1月1日|C|
| 一九八六年|2020年2月1日|A|
| 15076|2020年2月1日|B|
| 一七四五五六|2020年2月1日|C|
我想创建一个表,看起来像这样:
| 提供者|开始日期月份|N_不同|中位数|
| --------------|--------------|--------------|--------------|
| A|2020年1月1日|一百|10个|
| B|2020年1月1日|七十|六|
| C|2020年1月1日|九十|八|
我已经尝试了几种方法来实现它使用以下2 r脚本然而,我得到一个错误:
图书馆(dplyr)

starts <- intake_data %>% 
  filter(state == "ALS") %>%
  mutate(start_date_month=as.Date(start_date_month)) %>%
  summarize(group_by(provider, start_date_month),
            intakeA = n_distinct(client_id),
            medianA = median(client_id))

我也有这个版本:

starts <- intake_data %>% 
  filter(state == "ALS") %>%
  mutate(start_date_month=as.Date(start_date_month)) %>%
  group_by(provider, start_date_month) %>%
  summarize(intakeA = n_distinct(client_id),
            medianA = median(client_id))

但是两个版本都不工作。如果有人能帮我修复这个代码,那将是非常感激的

ctehm74n

ctehm74n1#

您的代码尝试表明,您希望同时按提供程序和月份对数据进行分组-在这种情况下,您最终不会得到所描述的输出(在这种情况下,您会默默地删除其中一个月份)。

library(tidyverse)

df <- tibble::tribble(
  ~client_id, ~Start_date_month, ~Provider,
      11234L,      "2020-01-01",       "A",
       1345L,      "2020-01-01",       "B",
       1567L,      "2020-01-01",       "C",
       1986L,      "2020-02-01",       "A",
      15076L,      "2020-02-01",       "B",
     174556L,      "2020-02-01",       "C"
  )

df |> 
  summarize(
    n_distinct = n_distinct(client_id),
    median = median(client_id),
    .by = c(Provider, Start_date_month)
  )
#> # A tibble: 6 × 4
#>   Provider Start_date_month n_distinct median
#>   <chr>    <chr>                 <int>  <int>
#> 1 A        2020-01-01                1  11234
#> 2 B        2020-01-01                1   1345
#> 3 C        2020-01-01                1   1567
#> 4 A        2020-02-01                1   1986
#> 5 B        2020-02-01                1  15076
#> 6 C        2020-02-01                1 174556

创建于2023-03-21带有reprex v2.0.2

相关问题