R语言 如何创建一个分组条形图

R语言 如何创建一个分组条形图

在这篇文章中,我们将讨论如何在R编程语言中创建一个分组条形图。

方法1:在基础R中创建分组 条形图

在这种创建分组条形图的方法中,用户只需要使用R语言的基本功能。用户需要首先修改用于创建条形图的数据,将其相应地分为不同的组,然后调用barplot()函数,将所需的参数传递给它,在R编程语言中分别创建给定数据的条形图。

barplot()函数: 该函数用于创建具有垂直或水平条形的条形图。

语法: barplot(height, beside = FALSE,… )

参数

  • height:描述构成图的条形的向量或矩阵值。I
  • beside:一个逻辑值。如果是FALSE,高度的列被描绘成堆叠的条形,如果是TRUE,列被描绘成并列的条形。
  • …: 传递给/来自其他方法的参数。

例子: 在这个例子中,我们将在基础R中创建四个不同组的分组条形图。

# Create data
gfg <- data.frame(x = c(7,9,8,1,4,6,5,9,6,4,8,5), 
                   grp = rep(c("group 1", "group 2",
                               "group 3","group 4"),
                               each = 3),
                   subgroup = LETTERS[1:3])
# Modifying data
gfg <- reshape(gfg,idvar = "subgroup",
               timevar = "grp",
               direction = "wide")
  
row.names(gfg) <- gfg$subgroup
gfg <- gfg[ , 2:ncol(gfg)]
colnames(gfg) <- c("group 1", "group 2",
                   "group 3","group 4")
gfg <- as.matrix(gfg)
  
# Create grouped barplot
barplot(height = gfg,beside = TRUE)
Bash

输出

如何在R语言中创建一个分组条形图?

方法2:使用ggplot2包创建一个分组条形图

在这种方法中,用户首先需要在工作的R控制台中安装并导入ggplot2包,在这里ggplot2负责导入其函数,这些函数用于创建分组条形图。然后,用户需要从ggplot包中调用geom_bar()函数,并在其中加入所需的参数,以在R编程语言中创建分组条形图。

在工作的R控制台中安装和导入ggplot包的语法

install.package('ggplot2') #To Install
library(ggplot2)           #To Import
Bash

geom_bar()函数: 该函数使条形图的高度与每组中的病例数成正比。

语法: geom_bar( mapping = NULL, data = NULL, stat = “count”, position = “stack”, …, )

参数。

  • mapping。由aeS()或aeS_()创建的审美映射的集合。如果指定并且inherit.aes = TRUE(默认),它将与绘图顶层的默认映射相结合。
  • 数据。要在本层显示的数据。
  • position(位置)。位置调整,可以是一个字符串,也可以是对位置调整函数的调用结果。
  • stat: 统计。覆盖默认连接。
  • …:传递的其他参数。

例子

# Import ggplot2
library(ggplot2)
  
# Create data
gfg <- data.frame(x = c(7,9,8,1,4,6,5,9,6,4,8,5), 
                   grp = rep(c("group 1", "group 2",
                               "group 3","group 4"),
                               each = 3),
                   subgroup = LETTERS[1:3])
  
# Create grouped barplot using ggplot2
ggplot(gfg,aes(x = grp, y =x, fill = subgroup)) +
geom_bar(stat = "identity", position = "dodge")
Bash

输出

如何在R语言中创建一个分组条形图?

方法3:使用lattice包创建分组柱状图

在这个方法中,用户首先需要在工作的R控制台中安装并导入lattice包,然后用户需要从lattice包中调用barchart()函数,并将这个函数和相应的参数传给它,以获得R编程语言中的分组柱状图。

在工作的 R 控制台中安装和导入 lattice 包的语法

install.package('lattice ') #To Install
library(lattice)           #To Import
Bash

柱状图: 该函数用于绘制柱状图。

语法: barchart(formula, data = parent.frame(), panel = panel.barchart, box.ratio =2, …)

参数。

  • 公式:描述调节图的形式的公式。y ~ x | g1 * g2 * …形式的公式表示y与x的关系图应该以变量g1,g2,…. 为条件产生。
  • panel:用于绘制面板的面板函数
  • data:公式中变量的数据框,等等。
  • box.ratio:条形宽度与条形间宽度的比率
  • …:其他参数

例子: 在这个例子中,我们将使用R编程语言中lattice包中的barchart()函数创建一个分组柱状图。

# Import lattice
library(lattice)
  
# Create data
gfg <- data.frame(x = c(7,9,8,1,4,6,5,9,6,4,8,5), 
                  grp = rep(c("group 1", "group 2",
                              "group 3","group 4"),
                            each = 3),
                  subgroup = LETTERS[1:3])
  
# Create grouped barplot using lattice
barchart(x ~ grp, data = gfg, groups = subgroup)
Bash

输出

如何在R语言中创建一个分组条形图?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册