R列表:如何在R编程中创建列表和选择元素

什么是 R 列表?

R 列表是 R 编程中的一个对象,它包含矩阵、向量、数据框或列表。R 列表还用于存储对象集合并在需要时使用它们。我们可以将 R 列表想象成一个袋子,可以把很多不同的物品放进去。当我们想使用某个物品时,可以打开袋子并使用它。

R 中列表的语法

我们可以在 R 编程中使用 list() 函数来创建列表

list(element_1, ...)
arguments:
-element_1: store any type of R object
-...: pass as many objects as specifying. each object needs to be separated by a comma

如何在 R 中创建列表

下面是有关如何在 R 中创建列表的分步过程

在下面的示例中,我们将使用 R 中的 list 函数创建三个不同的对象:一个向量、一个矩阵和一个数据框

步骤 1) 创建一个向量

使用以下代码在 R 中创建向量

# Vector with numeric from 1 up to 5
vect  <- 1:5

步骤 2) 创建一个矩阵

现在,使用以下代码创建一个矩阵

# A 2x 5 matrix
mat  <- matrix(1:9, ncol = 5)
dim(mat)

输出

## [1] 2 5

步骤 3) 创建数据框

使用以下代码在 R 中创建数据框

# select the 10th row of the built-in R data set EuStockMarkets
df <- EuStockMarkets[1:10,]

步骤 4) 在 R 中创建列表

现在,我们可以使用以下代码将这三个对象放入 R 列表

# Construct list with these vec, mat, and df:
my_list <- list(vect, mat, df)
my_list

输出

## [[1]]
## [1] 1 2 3 4 5

## [[2]]
##       [,1] [,2] [,3] [,4] [,5]
## [1,]    1    3    5    7    9
## [2,]    2    4    6    8    1

## [[3]]
##          DAX    SMI    CAC   FTSE
##  [1,] 1628.75 1678.1 1772.8 2443.6
##  [2,] 1613.63 1688.5 1750.5 2460.2
##  [3,] 1606.51 1678.6 1718.0 2448.2
##  [4,] 1621.04 1684.1 1708.1 2470.4
##  [5,] 1618.16 1686.6 1723.1 2484.7
##  [6,] 1610.61 1671.6 1714.3 2466.8
##  [7,] 1630.75 1682.9 1734.5 2487.9
##  [8,] 1640.17 1703.6 1757.4 2508.4
##  [9,] 1635.47 1697.5 1754.0 2510.5
##  [10,] 1645.89 1716.3 1754.3 2497.4

从 R 列表中选择元素

构建完列表后,我们可以很容易地访问它。我们需要使用 [[索引]] 来选择列表中的元素。双中括号中的值代表我们想要提取的列表项的位置。例如,如果我们在括号内传递 2,R 将返回列表中的第二个元素。

现在,在这个R 教程中,让我们尝试选择名为 my_list 的 R 列表中的第二个项目,我们使用 my_list[[2]]

# Print second element of the list
my_list[[2]]

输出

##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    3    5    7    9
## [2,]    2    4    6    8    1

R 中的内置数据框

在创建我们自己的数据框之前,我们可以查看在线可用的 R 数据集。prison 数据集是 714x5 维的。我们可以使用 tail() 函数快速查看数据框的底部。类似地,head() 显示数据框的顶部。您可以使用 head (df, 5) 指定显示的行数。我们将在以后的教程中学习更多关于 read.csv() 函数的知识。

PATH <-'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/prison.csv'
df <- read.csv(PATH)[1:5]
head(df, 5)

输出

##   X state year govelec black
## 1 1     1   80       0 0.2560
## 2 2     1   81       0 0.2557
## 3 3     1   82       1 0.2554
## 4 4     1   83       0 0.2551
## 5 5     1   84       0 0.2548

我们可以使用 str 检查数据框的结构

# Structure of the data
str(df)

输出

## 'data.frame':    714 obs. of  5 variables:
##  $ X      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ state  : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ year   : int  80 81 82 83 84 85 86 87 88 89 ...
##  $ govelec: int  0 0 1 0 0 0 1 0 0 0 ...
##  $ black  : num  0.256 0.256 0.255 0.255 0.255 ...

所有变量都以数字格式存储。

摘要

  • R 列表是 R 编程中的一个对象,它包含矩阵、向量、数据框或列表。
  • list() 函数用于在R 编程中创建列表。
  • 我们可以使用 [[索引]] 函数来选择列表中的元素。双中括号中的值代表我们想要提取的列表项的位置。
  • 我们可以使用 tail() 函数快速查看数据框的底部。