Использование индикаторной переменной - PullRequest
0 голосов
/ 11 февраля 2020

Итак, я помогаю другу в медицинской школе. Я для каждого месяца две точки данных для каждого человека. У меня есть время, которое они проводят на факультативных операциях и сколько они потратили на операции ER. Я настроил это как этот образ. Затем я импортировал его в R.

Я ищу самый простой способ настроить переменную индикатора для сравнения между переменными ER и без них. И также хотел бы создать переменную от 2 до 7.

dd <- data.frame(
    Month = c("July", "August", "September", "October", "November", "December", 
              "January", "February", "March", "April", "May", "June"),
    Year = c(14L, 14L, 14L, 14L, 14L, 14L, 15L, 15L, 15L, 15L, 15L, 15L),
    X2 = c(3635L, 3497L, 3911L, 4270L, 3954L, 5202L, 3369L, 2125L, 3419L, 4226L, 1828L, 2636L),
    X3 = c(3920L, 4320L, 3275L, 3457L, 3276L, 3461L, 3082L, 1511L, 2244L, 2323L, 1820L, 2152L),
    X4 = c(3760L, 2450L, 4270L, 1672L, 2945L, 3661L, 3628L, 5494L, 4466L, 3440L, 4551L, 6317L),
    X5 = c(3062L, 3074L, 1771L, 4021L, 1632L, 1843L, 4306L, 4249L, 2628L, 3212L, 2910L, 4196L),
    X6 = c(0L, 0L, 0L, 406L, 1499L, 1045L, 807L, 393L, 498L, 1430L, 487L, 315L),
    X7 = c(7518L, 7741L, 7704L, 7292L, 4043L, 5782L, 6176L, 6521L, 4318L, 4933L, 7191L, 7480L),
    X2.ER = c(356L, 1417L, 1775L, 118L, 120L, 730L, 813L, 773L, 0L, 168L, 0L, 839L),
    X3.ER = c(837L, 764L, 1604L, 0L, 79L, 0L, 140L, 605L, 0L, 0L, 522L, 368L),
    X4.ER = c(602L, 686L, 1292L, 156L, 145L, 434L, 342L, 189L, 765L, 476L, 379L, 85L),
    X5.ER = c(0L, 363L, 368L, 0L, 0L, 952L, 0L, 448L, 253L, 0L, 0L, 0L),
    X6.ER = c(856L, 666L, 1528L, 0L, 344L, 222L, 422L, 1339L, 788L, 644L, 415L, 512L),
    X7.ER = c(814L, 1917L, 2738L, 694L, 534L, 880L, 634L, 664L, 130L, 360L, 602L, 780L)
)

1 Ответ

0 голосов
/ 11 февраля 2020

Если я понимаю, что вы после, вы можете использовать несколько функций Tidyverse, чтобы помочь

dd %>% 
  pivot_longer(-c(Month,Year), "visit") %>% 
  mutate(
    visit_type = if_else(str_detect(visit, "ER"),"ER","NonEr"), 
    visit_number = str_extract(visit, "\\d+")) %>% 
  select(-visit) %>% 
  pivot_wider(names_from=visit_type, values_from=value)

Это дает

# A tibble: 72 x 5
   Month   Year visit_number NonEr    ER
   <fct>  <int> <chr>        <int> <int>
 1 July      14 2             3635   356
 2 July      14 3             3920   837
 3 July      14 4             3760   602
 4 July      14 5             3062     0
 5 July      14 6                0   856
 6 July      14 7             7518   814
 7 August    14 2             3497  1417
 ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...