如何在 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() 函数