R 数据框

17 Mar 2025 | 6 分钟阅读

数据框是一种类似二维数组的结构或表格,其中一列包含一个变量的值,行包含来自每列的一组值。 数据框是列表的一种特殊情况,其中每个组件的长度相等。

数据框用于存储数据表,并且以列表形式存在于数据框中的向量长度相等。

简单来说,它是一个等长向量的列表。 矩阵可以包含一种类型的数据,但数据框可以包含不同的数据类型,例如数值、字符、因子等。

数据框具有以下特征。

  • 列名不应为空。
  • 行名应该唯一。
  • 存储在数据框中的数据可以是因子、数值或字符类型。
  • 每列包含相同数量的数据项。
R Data Frame

如何创建数据框

在 R 中,数据框是借助 data 的 frame() 函数创建的。 此函数包含任何类型的向量,例如数值、字符或整数。 在下面的示例中,我们创建一个数据框,其中包含员工 ID(整数向量)、员工姓名(字符向量)、工资(数值向量)和开始日期(日期向量)。

示例

输出

employee_idemployee_namesalstarting_date
1           1       Shubham623.30    2012-01-01
2           2        Arpita915.20    2013-09-23
3           3        Nishka611.00    2014-11-15
4           4        Gunjan729.00    2014-05-11
5          5         Sumit843.25    2015-03-27

获取 R 数据框的结构

在 R 中,我们可以找到数据框的结构。 R 提供了一个内置函数 str(),它返回带有其完整结构的数据。 在下面的示例中,我们使用不同数据类型的向量创建了一个框架,并提取了它的结构。

示例

输出

'data.frame':   5 obs. of  4 variables:
 $ employee_id  : int  1 2 3 4 5
 $ employee_name: chr  "Shubham" "Arpita" "Nishka" "Gunjan" ...
 $ sal          : num  623 515 611 729 843
 $ starting_date: Date, format: "2012-01-01" "2013-09-23" ...

从数据框中提取数据

数据框的数据对我们来说非常关键。 为了操作数据框的数据,必须从中提取数据。 我们可以通过三种方式提取数据,如下所示

  1. 我们可以使用列名从数据框中提取特定的列。
  2. 我们也可以从数据框中提取特定的行。
  3. 我们可以提取与特定列对应的特定行。

让我们看看每个示例,以了解如何借助这些方法从数据框中提取数据。

从数据框中提取特定列

示例

输出

emp.data.employee_idemp.data.sal
1                    		1       623.30
2                    		2       515.20
3          			3       611.00
4                    		4       729.00
5                    		5       843.25

从数据框中提取特定行

示例

输出

        employee_id  employee_name    sal       starting_date
1          1           Shubham       623.3        2012-01-01

       employee_id  employee_name    sal      starting_date
4         4          Gunjan        729.00       2014-05-11
5         5          Sumit         843.25       2015-03-27

提取与特定列对应的特定行

示例

输出

        employee_id   starting_date
2           2           2013-09-23
3           3           2014-11-15

数据框的修改

R 允许我们修改数据框。 像矩阵修改一样,我们可以通过重新分配来修改数据框。 我们不仅可以添加行和列,还可以删除它们。 通过添加行和列来扩展数据框。

我们可以

  1. 通过使用 cbind() 函数添加一个列向量与新的列名来添加一个列。
  2. 通过以与现有数据框相同的结构添加新行并使用 rbind() 函数来添加行
  3. 通过将 NULL 值分配给它们来删除列。
  4. 通过重新分配它们来删除行。

让我们看一个例子,了解 rbind() 函数如何工作以及如何在我们的数据框中进行修改。

示例:添加行和列

输出

     employee_id  employee_name    sal          starting_date
1       1              Shubham    623.30          2012-01-01
2       2              Arpita     515.20          2013-09-23
3       3              Nishka     611.00          2014-11-15
4       4              Gunjan     729.00          2014-05-11
5       5              Sumit      843.25          2015-03-27
     employee_id  employee_name     sal        starting_date
1       1              Shubham     623.30          2012-01-01
2       2              Arpita      515.20          2013-09-23
3       3              Nishka      611.00          2014-11-15
4       4              Gunjan      729.00          2014-05-11
5       5              Sumit       843.25          2015-03-27
6       6              Vaishali    547.00          2015-09-01
     employee_id     employee_name    sal        starting_date        Address
1       1              Shubham       623.30        2012-01-01        Moradabad
2       2              Arpita        515.20        2013-09-23        Lucknow
3       3              Nishka        611.00        2014-11-15        Etah
4       4              Gunjan        729.00        2014-05-11        Sambhal
5       5              Sumit         843.25        2015-03-27        Khurja

示例:删除行和列

输出

employee_idemployee_namesalstarting_date
1           1       Shubham623.30    2012-01-01
2           2        Arpita515.20    2013-09-23
3           3        Nishka611.00    2014-11-15
4           4        Gunjan729.00    2014-05-11
5           5         Sumit843.25    2015-03-27
employee_idemployee_namesalstarting_date
2           2        Arpita515.20    2013-09-23
3           3        Nishka611.00    2014-11-15
4           4        Gunjan729.00    2014-05-11
5           5         Sumit843.25    2015-03-27
employee_idemployee_namesal
1           1       Shubham623.30    
2           2        Arpita515.20    
3         3        Nishka611.00    
4           4        Gunjan729.00    
5           5         Sumit843.25    

数据框中数据的摘要

在某些情况下,需要找到数据框中数据的统计摘要和性质。 R 提供了 summary() 函数来提取数据的统计摘要和性质。 此函数将数据框作为参数,并返回数据的统计信息。 让我们看一个例子来了解如何在 R 中使用这个函数

示例

输出

employee_idemployee_namesalstarting_date
1           1       Shubham623.30    2012-01-01
2           2        Arpita515.20    2013-09-23
3           3  Nishka611.00    2014-11-15
4           4        Gunjan729.00    2014-05-11
5           5         Sumit843.25    2015-03-27

employee_idemployee_namesalstarting_date
 Min.   :1   Length:5           Min.   :515.2   Min.   :2012-01-01
 1st Qu.:2    Class :character   1st Qu.:611.0 1st Qu.:2013-09-23
 Median :3    Mode  :character   Median :623.3   Median :2014-05-11
 Mean   :3                       Mean   :664.4   Mean   :2014-01-14
 3rd Qu.:4              3rd Qu.:729.0   3rd Qu.:2014-11-15
 Max.   :5                       Max.   :843.2   Max.   :2015-03-27

下一个主题R 因子