Парная гистограмма с условной маркировкой на основе нескольких факторов - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь создать графический вывод, как показано на рисунке ниже, для следующего образца данных, но код, который я включил, выдает ошибку:

Ошибка в mutate_impl (.data, dots):Ошибка оценки: столбец n должен иметь длину 43 (количество строк) или одну, а не 42.

Моя цель состоит в том, чтобы отобразить всех поставщиков из одного местоположения на одном и том же графике, а затем тольковключите одно имя на оси, чтобы каждый поставщик мог видеть, как они сравниваются с другими в своей области, не раскрывая личность других поставщиков.Я попытался указать, что n = 43 (длина полного набора данных), но не увенчался успехом.Кроме того, я хотел бы сделать парную гистограмму, чтобы показать, как каждый поставщик сравнивает показатели своих предыдущих месяцев.enter image description here

  Provider  Month   Payment Location
    Andrew  2   32.62   OH
    Dillard 2   40  OH
    Henry   2   32.28   OH
    Lewis   2   47.79   IL
    Marcus  2   73.04   IL
    Matthews    2   45.22   NY
    Paul    2   65.73   NY
    Reed    2   27.67   NY
    Andrew  1   33.23   OH
    Dillard 1   36.63   OH
    Henry   1   42.68   OH
    Lewis   1   71.45   IL
    Marcus  1   39.51   IL
    Matthews    1   59.11   NY
    Paul    1   27.67   NY
    Reed    1   28.78   NY

library(tidyverse)
    library(purrr)
    df <- 1:nrow(PaymentsFeb) %>% 
         purrr::map( ~PaymentsFeb) %>% 
         set_names(PaymentsFeb$Provider) %>% 
         bind_rows(.id = "ID") %>% 
         nest(-ID) %>%  

     mutate(Location=map2(data,ID, ~.x %>% filter(Provider == .y) %>% select(Location))) %>% 
     mutate(data=
           map2(data, ID, ~.x %>% 
                  mutate(n=paste0("#", sample(seq_len(n()), size = n())),
                         Provider=ifelse(Provider == .y, as.character(Provider), n),
                         Provider=factor(Provider, levels = c(.y, sample(n, n())))))) %>%
     mutate(plots=map2(data,Location, ~ggplot(data=.x,aes(x = Provider, y = scores, fill = scores))+ 
               geom_col() +geom_text(aes(label=Per.Visit.Bill.Rate), vjust=-.3)+
               ggtitle("test scores by Location-  February 2018", subtitle = .y$Location)
     )) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...