如何在 r 中使用 unlist() 函数(3 个示例)


您可以使用 R 中的unlist()函数快速将列表转换为向量。

该函数使用以下基本语法:

 unlist(x)

金子:

  • x : 对象 R 的名称

以下示例展示了如何在不同场景下使用该功能。

示例 1:使用 unlist() 将列表转换为向量

假设我们在 R 中有以下列表:

 #create list
my_list <- list(A = c(1, 2, 3),
                B = c(4, 5),
                C = 6)

#display list
my_list

$A
[1] 1 2 3

$B
[1] 4 5

$C
[1] 6

以下代码显示如何使用unlist()函数将列表转换为向量:

 #convert list to vector
new_vector <- unlist(my_list)

#display vector
new_vector

A1 A2 A3 B1 B2 C 
 1 2 3 4 5 6 

请注意,您可以指定use.names = FALSE从向量中删除名称:

 #convert list to vector
new_vector <- unlist(my_list, use. names = FALSE )

#display vector
new_vector

[1] 1 2 3 4 5 6

示例 2:使用 unlist() 将列表转换为矩阵

以下代码显示如何使用unlist()将列表转换为矩阵:

 #create list
my_list <- list(1:3, 4:6, 7:9, 10:12, 13:15)

#convert list to matrix
matrix(unlist(my_list), ncol= 3 , byrow= TRUE )

     [,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
[5,] 13 14 15

结果是一个五行三列的矩阵。

示例3:使用unlist()对列表中的值进行排序

假设我们在 R 中有以下列表:

 #create list
some_list <- list(c(4, 3, 7), 2, c(5, 12, 19)) 

#view list
some_list

[[1]]
[1] 4 3 7

[[2]]
[1] 2

[[3]]
[1] 5 12 19

现在假设我们尝试对列表中的值进行排序:

 #attempt to sort the values in the list
sort(some_list)

Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...): 
  'x' must be atomic

我们收到错误,因为列表必须首先转换为向量,以便我们可以对值进行排序。

我们可以使用以下unlist()函数对值进行排序:

 #sort values in list
sort(unlist(some_list))

[1] 2 3 4 5 7 12 19

请注意,我们能够成功地对值列表进行排序而不会出现任何错误,因为我们首先使用了unlist() ,它将列表转换为数值向量。

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何在 R 中使用 length() 函数
如何在 R 中使用 cat() 函数
如何在 R 中使用 substring() 函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注