首页 > 解决方案 > R:绘图变量,其中值基于特定组合的行数

问题描述

我有一个问题,我真的无法理解。所以也许,如果我对这个问题的解释过于模糊,请不要犹豫,提出一个问题来进一步澄清自己。

我在全科医生 [GP] 的 3000 多个观察(推荐)的 R 中有一个小标题(请参阅数据子集的示例)。我想绘制数据,例如使用 ggplot。假设我想绘制一个 GP 总共推荐的频率(即该特定名称的行数),我该怎么做?标题中的另一列包含他们提到的机构的名称。假设我想绘制他们提到特定机构的频率。这些值将对应于该特定组合的行数,对吗?有人知道这样做的方法吗?

示例数据:

structure(list(LAST_NAME_GP = c("NOORDHOF", "ONBEKEND", "RAHIMTOOLA", 
"HIEMSTRA", "VIS", "OLDENBURG", "SLACHTER", "NOORDHOF", "VOSKUILEN", 
"STEVENS", "COMANS", "HIJMERING", "PHILIPS", "VIS", "LOUTER"), 
    INSTITUTION = c("OPVOEDPOLI B.V.", "PARLAN", "PARLAN", "PARLAN", 
    "OPVOEDPOLI B.V.", "TRIVERSUM", "ALKMAARSE PSYCHOLOGENPRAKTIJK", 
    "TRIVERSUM", "STICHTING KRAM", "TRIVERSUM", "TRIVERSUM", 
    "TRIVERSUM", "OPVOEDPOLI B.V.", "TRIVERSUM", "ELINE BIESHEUVEL"
    )), row.names = c(NA, -15L), class = c("tbl_df", "tbl", "data.frame"
))

sample
# A tibble: 15 x 2
   LAST_NAME_GP  INSTITUTION                 
   <chr>         <chr>                     
 1 NOORDHOF      OPVOEDPOLI B.V.           
 2 ONBEKEND      PARLAN                    
 3 RAHIMTOOLA    PARLAN                    
 4 HIEMSTRA      PARLAN                    
 5 VIS           OPVOEDPOLI B.V.           
 6 OLDENBURG     TRIVERSUM                 
 7 SLACHTER      ALKMAARSE PSYCHOLOGENPRAK~
 8 NOORDHOF      TRIVERSUM                 
 9 VOSKUILEN     STICHTING KRAM            
10 STEVENS       TRIVERSUM                 
11 COMANS        TRIVERSUM                 
12 HIJMERING     TRIVERSUM                 
13 PHILIPS       OPVOEDPOLI B.V.           
14 VIS           TRIVERSUM                 
15 LOUTER        ELINE BIESHEUVEL

请注意:在我的示例数据中,GP 可能会出现两次,但在实际数据集中它们会出现 200 次。

标签: rplotggplot2

解决方案


ggplot您可以对问题的第一部分使用直方图。由于您想绘制 GP 总共转诊的频率,因此条形图似乎是一个快速的解决方案:

ggplot(data=sample, aes(x=LAST_NAME_GP))+geom_bar()

返回一个直方图,指示 GP 总共推荐的频率。

对于您问题的第二部分,在尝试可视化 GP 提及特定机构的频率时,您可以使用facet_wrap,它可以很好地呈现该信息而没有过度绘制的风险。

用于facet_wrap显示两者的值LAST_NAME_GPINSTITUTION产生很好的效果:

library(dplyr)
library(ggplot2)
sample %>% 
  ggplot(aes(x=INSTITUTION))+
  geom_bar()+
  facet_wrap(~LAST_NAME_GP)+
  coord_flip()

在此处输入图像描述


推荐阅读