相关文章推荐
捣蛋的手套  ·  【大前端】JavaScript ...·  1 年前    · 
机灵的铁链  ·  unity怎么获取 android ...·  2 年前    · 
健壮的回锅肉  ·  170621 - Android ADB ...·  2 年前    · 
如下实例,我们创建一个列表,包含了字符串、向量和数字:

list_data <- list ( "runoob" , "google" , c ( 11 , 22 , 33 ) , 123 , 51.23 , 119.1 )
print ( list_data )

执行以上代码输出结果为:

[[1]]
[1] "runoob"
[[2]]
[1] "google"
[[3]]
[1] 11 22 33
[[4]]
[1] 123
[[5]]
[1] 51.23
[[6]]
[1] 119.1
我们可以使用 names() 函数给列表的元素命名:

# 列表包含向量、矩阵、列表
list_data <- list ( c ( "Google" , "Runoob" , "Taobao" ) , matrix ( c ( 1 , 2 , 3 , 4 , 5 , 6 ) , nrow = 2 ) ,
list ( "runoob" , 12.3 ) )
# 给列表元素设置名字
names ( list_data ) <- c ( "Sites" , "Numbers" , "Lists" )
# 显示列表
print ( list_data )

执行以上代码输出结果为:

$Sites
[1] "Google" "Runoob" "Taobao"
$Numbers
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
$Lists
$Lists[[1]]
[1] "runoob"
$Lists[[2]]
[1] 12.3
列表中的元素可以使用索引来访问,如果使用来 names() 函数命名后,我们还可以使用对应名字来访问:

# 列表包含向量、矩阵、列表
list_data <- list ( c ( "Google" , "Runoob" , "Taobao" ) , matrix ( c ( 1 , 2 , 3 , 4 , 5 , 6 ) , nrow = 2 ) ,
list ( "runoob" , 12.3 ) )
# 给列表元素设置名字
names ( list_data ) <- c ( "Sites" , "Numbers" , "Lists" )
# 显示列表
print ( list_data [ 1 ] )
# 访问列表的第三个元素
print ( list_data [ 3 ] )
# 访问第一个向量元素
print ( list_data$Numbers )

执行以上代码输出结果为:

$Sites [1] "Google" "Runoob" "Taobao" $Lists $Lists[[1]] [1] "runoob" $Lists[[2]] [1] 12.3 [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6

操作列表元素

我们可以对列表进行添加、删除、更新的操作,如下实例:

# 列表包含向量、矩阵、列表
list_data <- list ( c ( "Google" , "Runoob" , "Taobao" ) , matrix ( c ( 1 , 2 , 3 , 4 , 5 , 6 ) , nrow = 2 ) ,
list ( "runoob" , 12.3 ) )
# 给列表元素设置名字
names ( list_data ) <- c ( "Sites" , "Numbers" , "Lists" )
# 添加元素
list_data [ 4 ] <- "新元素"
print ( list_data [ 4 ] )
# 删除元素
list_data [ 4 ] <- NULL
# 删除后输出为 NULL
print ( list_data [ 4 ] )
# 更新元素
list_data [ 3 ] <- "我替换来第三个元素"
print ( list_data [ 3 ] )

执行以上代码输出结果为:

[[1]] [1] "新元素" $Lists [1] "我替换来第三个元素" 我们可以使用 c() 函数将多个列表合并为一个列表:

# 创建两个列表
list1 <- list ( 1 , 2 , 3 )
list2 <- list ( "Google" , "Runoob" , "Taobao" )
# 合并列表
merged. list <- c ( list1,list2 )
# 显示合并后的列表
print ( merged. list )

执行以上代码输出结果为:

[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] "Google"
[[5]]
[1] "Runoob"
[[6]]
[1] "Taobao"

列表转换为向量

要将列表转换为向量可以使用 unlist() 函数,将列表转换为向量,可以方便我们进行算术运算:

# 创建列表
list1 <- list ( 1 : 5 )
print ( list1 )
list2 <- list ( 10 : 14 )
print ( list2 )
# 转换为向量
v1 <- unlist ( list1 )
v2 <- unlist ( list2 )
print ( v1 )
print ( v2 )
# 两个向量相加
result <- v1 + v2
print ( result )

执行以上代码输出结果为:

[[1]]
[1] 1 2 3 4 5
[[1]]
[1] 10 11 12 13 14
[1] 1 2 3 4 5
[1] 10 11 12 13 14
[1] 11 13 15 17 19