R:绘图变量,其中值基于特定组合的行数

时间:2018-05-15 10:23:28

标签: r plot ggplot2

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

我对全科医生[GP]的3000多个观察(转介)的R进行了测试(参见数据子集的示例)。 我想绘制数据,例如使用ggplot。假设我想绘制GP总共引用的频率(即该特定名称的行数),我该怎么做? tibble中的另一列由他们提到的机构名称组成。假设我想绘制他们提到特定机构的频率。这些值对应于该特定组合的行数,对不对?有人知道这样做的方法吗?

示例数据:

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次。

1 个答案:

答案 0 :(得分:0)

您可以在问题的第一部分使用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()

enter image description here