R语言数据结构7:列表list

R语言数据结构7:列表list

列表(List)是R语言中一种复杂且重要的数据结构,可以包含不同类型的对象,如向量、矩阵、数据框等。
列表中的对象可以是任意类型,甚至可以包含其他列表,这使得列表成为处理复杂数据结构的常用方法。

1.列表的创建

g <- "My First List"        # 字符型标量
h <- c(25, 26, 11, 23)      # 数值型向量(含4个元素)
j <- matrix(1:4, nrow=2)    # 2×2 矩阵(默认为按列填充)
k <- c("one", "two")        # 字符型向量

# 构建列表:混合命名和未命名元素
mylist <- list(
  title = g,   # 第1个元素(名为 "title")
  ages  = h,   # 第2个元素(名为 "ages")
  j,           # 第3个元素(未命名,直接放入矩阵)
  k            # 第4个元素(未命名,直接放入向量)
)
  • 因为列表的元素是指针,创建列表并不涉及将组件复制到列表中,因此列表的总大小可能比你预期的要小,避免了不必要的内存复制。

  • 列表(List)是一种更灵活的数据结构,它的元素可以是任意类型,包括其他列表。也就是说,列表可以“嵌套”其他列表,形成递归结构。

  • c() 函数在 R 语言中用于将多个值组合成一个向量或列表。当 c() 函数的参数中包含原子向量和列表时,它会先将原子向量强制转换为列表,然后再将它们合并成一个新的列表。

  • typeof(my_list) 返回 “list”,表示对象是列表。

  • is.list(x) 用于判断一个对象是否为列表。

  • as.list(x) 可以将其他对象转换为列表。

  • unlist(x) 可以将列表转换为原子向量,但类型转换规则可能与 c() 不同。

2.列表与原子向量的区别

在这里插入图片描述

参考资料

Advanced.R

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值