用R语言怎么画小提琴图

本篇内容介绍了“用R语言怎么画小提琴图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

公司主营业务:成都网站设计、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出江岸免费做网站回馈大家。

 数据已经存储到了文件里 首先是读取数据
library(readr)
df<-read_tsv("author_number.tsv")
head(df)
 
用R语言怎么画小提琴图  
image.png
 期刊分别是
table(df$journal)
 
用R语言怎么画小提琴图  
image.png
 首先通过summary()函数看一些数据的基本情况
summary(df)
 
用R语言怎么画小提琴图  
image.png

作者数量最多的竟然有446人,中位数是6个人,符合日常认知

我们看一下400多个作者的论文是什么?


library(dplyr)

df%>%
  filter(auth_num == 446) -> df1

df1$id
 
用R语言怎么画小提琴图  
image.png
用R语言怎么画小提琴图  
image.png

这个应该是采集了很多人的数据,可能是把参与实验的所有人全都列成作者了

 接下来就是小提琴图展示每个期刊作者数量的分布了

用原始数据作图代码和结果如下

ggplot(df, aes(x=journal, y=auth_num, fill=journal)) +
  geom_violin(scale="width") +
  geom_boxplot(width=.12, 
               fill=I("black"), 
               notch=T,
               outlier.size=NA, 
               col="grey40") +
  stat_summary(fun="median", 
               geom="point", shape=20, col="white") +
  #scale_y_log10(breaks=c(1:5, seq(10, 50, by=10), 100, 200, 300)) +
  coord_flip() + labs(x="", y="Number of authors per paper") +
  theme_classic() + theme(legend.position="none") +
  scale_fill_brewer()
 
用R语言怎么画小提琴图  
image.png

这个结果不太好看,所有作者对原始数据做了log10转化

ggplot(df, aes(x=journal, y=auth_num, fill=journal)) +
  geom_violin(scale="width") +
  geom_boxplot(width=.12, 
               fill=I("black"), 
               notch=T,
               outlier.size=NA, 
               col="grey40") +
  stat_summary(fun="median", 
               geom="point", shape=20, col="white") +
  scale_y_log10(breaks=c(1:5, seq(10, 50, by=10), 100, 200, 300)) +
  coord_flip() + labs(x="", y="Number of authors per paper") +
  theme_classic() + theme(legend.position="none") +
  scale_fill_brewer()
 
用R语言怎么画小提琴图  
image.png

log10转换 是一种比较好的方案当数据有明显的离群值的时候

 

这次新学到的知识点包括

lappy()函数指定参数

lapply(files_all,
       read_tsv,
       col_type= list(
         col_character(),
         col_character(),
         col_character(),
         col_character())) %>%                
  bind_rows -> data_all  
 

统计字符串中指定字符的数量

library(stringr)
str_count("A,B,C",pattern=",")

“用R语言怎么画小提琴图”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


当前名称:用R语言怎么画小提琴图
本文网址:http://azwzsj.com/article/jjjgpj.html