list
位于 base
包(package)。 说明
构造、强制和检查这两种类型的函数R列表。
用法
list(...)
pairlist(...)
as.list(x, ...)
## S3 method for class 'environment'
as.list(x, all.names = FALSE, sorted = FALSE, ...)
as.pairlist(x)
is.list(x)
is.pairlist(x)
alist(...)
参数
... |
对象,可能有名称。 |
x |
对象被强制或测试。 |
all.names |
一个逻辑值,指示是否复制所有值或(默认)仅复制名称不以点开头的值。 |
sorted |
一个逻辑,指示结果列表的 |
细节
几乎所有列表都在R内部是通用向量,而传统的点对列表(如 LISP 中的列表)仍然可用,但很少被用户看到(除非formals
的函数)。
list
或 pairlist
的参数的形式为 value
或 tag = value
。这些函数返回由其参数组成的列表或点对列表,其中每个值都已标记或未标记,具体取决于参数的指定方式。
alist
处理其参数,就像它们说明函数参数一样。因此,不会评估这些值,并且允许没有值的标记参数,而 list
只是忽略它们。 alist
最常与 formals
结合使用。
as.list
尝试将其参数强制为列表。对于函数,这将返回形式参数列表和函数体的串联。对于表达式,返回组成元素的列表。 as.list
是通用的,并且由于默认方法为非列表调用 as.vector(mode = "list")
,因此可能会调用 as.vector
的方法。 as.list
将一个因子转换为单元素因子列表,保留 names
。除非参数已经是列表或表达式,否则可以删除其他属性。 (这与 as.character
等总是删除属性的函数不一致,并且是为了提高效率,因为复制列表的成本可能很高。)
当且仅当其参数是 length
的 list
或 pairlist
时, is.list
返回 TRUE
。当且仅当参数是配对列表或NULL
(见下文)时,is.pairlist
返回TRUE
。
as.list
的 "environment"
方法将 name-value 对(对于不以点开头的名称)从环境复制到命名列表。用户可以请求复制所有命名对象。除非 sorted = TRUE
,否则列表没有特定的顺序(顺序取决于对象的创建顺序以及环境是否经过哈希处理)。不搜索封闭环境。 (复制的对象是重复的,因此这可能是一项昂贵的操作。)请注意,有一个逆操作,即列表对象的 as.environment()
方法。
空对列表 pairlist()
与 NULL
相同。这与 list()
不同:一些但不是全部操作会将空配对列表提升为空列表。
as.pairlist
实现为 as.vector(x,
"pairlist")
,因此将为通用函数 as.vector
调度方法。列表被逐个元素复制到配对列表中,列表的名称用作配对列表的标签:其他类型参数的返回值未记录。
list
、is.list
和 is.pairlist
是 primitive 函数。
例子
require(graphics)
# create a plotting structure
pts <- list(x = cars[,1], y = cars[,2])
plot(pts)
is.pairlist(.Options) # a user-level pairlist
## "pre-allocate" an empty list of length 5
vector("list", 5)
# Argument lists
f <- function() x
# Note the specification of a "..." argument:
formals(f) <- al <- alist(x = , y = 2+3, ... = )
f
al
## environment->list coercion
e1 <- new.env()
e1$a <- 10
e1$b <- 20
as.list(e1)
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
vector("list", length)
用于创建包含空组件的列表; c
,用于串联; formals
。 unlist
是 as.list()
的近似逆。
‘plotmath’用于在绘图注释中使用list
。
相关用法
- R list2DF 从列表创建 DataFrame
- R list.files 列出目录/文件夹中的文件
- R list2env 从列表中构建或添加到环境
- R libPaths 包的搜索路径
- R license R 许可条款
- R library 加载/附加和列出包
- R library.dynam 从包中加载 DLL
- R libcurlVersion libcurl 的报告版本
- R lapply 对列表或向量应用函数
- R levels 级别属性
- R ls 列出对象
- R lengths 列表或向量元素的长度
- R load 重新加载保存的数据集
- R lower.tri 矩阵的下三角部分和上三角部分
- R log 对数和指数
- R locales 查询或设置区域设置的各个方面
- R l10n_info 本地化信息
- R length 物体的长度
- R labels 从对象中查找标签
- R logical 逻辑向量
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R dump R 对象的文本表示
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Lists – Generic and Dotted Pairs。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。