📜  如何在 R 中对列表进行子集化?

📅  最后修改于: 2022-05-13 01:55:26.692000             🧑  作者: Mango

如何在 R 中对列表进行子集化?

在本文中,我们将讨论如何在 R 编程语言中对列表进行子集化。

方法一:提取一个列表项

我们可以使用索引号进行提取。索引从 1 开始

语法

list[[index_number]]

其中,list 是输入列表

示例:子集列表

R
# create list of elements
list1=list(1,2,3,4,5)
  
# display
print(list1)
  
# get 1 st element
print(list1[[1]])
  
# get 2 nd element
print(list1[[2]])
  
# get 3 rd element
print(list1[[3]])
  
# get 4 th element
print(list1[[4]])


R
# create list of elements
list1=list(1,2,3,4,5)
  
# get 1,2,3 element
print(list1[c(1, 2,3)])


R
# create list
data=list(a=c(1:3),b=c(5:8),"geeks")
  
# get elements from 1 to 3
print(data[c(1:3)])


R
# create list
data=list(a=c(1:3),b=c(5:8),"geeks")
  
# get elements of index 1 and 2
sapply(data,"[",c(1,2))


R
# create list
data=list(a=c(1:3),b=c(5:8),"geeks")
  
# get elements from a
print(data$a)
  
# get elements from b
print(data$b)


输出:

[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

[[4]]
[1] 4

[[5]]
[1] 5

[1] 1
[1] 2
[1] 3
[1] 4

方法 2:提取多个列表项

我们还可以使用带有 c()函数的索引号一次选择项目

语法

list

示例:子集列表

R

# create list of elements
list1=list(1,2,3,4,5)
  
# get 1,2,3 element
print(list1[c(1, 2,3)])

输出:

[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

方法 3:使用切片运算符提取多个列表项

在这里,我们将在切片运算符中使用索引号。

语法

list

在哪里,

  • list 是输入列表
  • index_start 是列表中的开始位置
  • index_end id 列表中的结束位置

示例:子集列表

R

# create list
data=list(a=c(1:3),b=c(5:8),"geeks")
  
# get elements from 1 to 3
print(data[c(1:3)])

输出:

方法四:使用 sapply()函数

在这里,我们可以使用索引号从 sapply() 访问元素

语法

sapply(list,"[",c(index))

示例:子集列表

R

# create list
data=list(a=c(1:3),b=c(5:8),"geeks")
  
# get elements of index 1 and 2
sapply(data,"[",c(1,2))

输出:

方法五:使用 $运算符

这里我们使用 $运算符来获取使用名称的元素。

语法

list$name

示例:子集列表

R

# create list
data=list(a=c(1:3),b=c(5:8),"geeks")
  
# get elements from a
print(data$a)
  
# get elements from b
print(data$b)

输出:

[1] 1 2 3
[1] 5 6 7 8