当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R list 列表 – 通用和点对


R语言 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

一个逻辑,指示结果列表的names是否应该排序(递增)。请注意,这有点昂贵,但对于环境比较可能很有用。

细节

几乎所有列表都在R内部是通用向量,而传统的点对列表(如 LISP 中的列表)仍然可用,但很少被用户看到(除非formals的函数)。

listpairlist 的参数的形式为 valuetag = value 。这些函数返回由其参数组成的列表或点对列表,其中每个值都已标记或未标记,具体取决于参数的指定方式。

alist 处理其参数,就像它们说明函数参数一样。因此,不会评估这些值,并且允许没有值的标记参数,而 list 只是忽略它们。 alist 最常与 formals 结合使用。

as.list 尝试将其参数强制为列表。对于函数,这将返回形式参数列表和函数体的串联。对于表达式,返回组成元素的列表。 as.list 是通用的,并且由于默认方法为非列表调用 as.vector(mode = "list"),因此可能会调用 as.vector 的方法。 as.list 将一个因子转换为单元素因子列表,保留 names 。除非参数已经是列表或表达式,否则可以删除其他属性。 (这与 as.character 等总是删除属性的函数不一致,并且是为了提高效率,因为复制列表的成本可能很高。)

当且仅当其参数是 length listpairlist 时, 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 调度方法。列表被逐个元素复制到配对列表中,列表的名称用作配对列表的标签:其他类型参数的返回值未记录。

listis.listis.pairlistprimitive 函数。

例子

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 ,用于串联; formalsunlistas.list() 的近似逆。

plotmath’用于在绘图注释中使用list

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Lists – Generic and Dotted Pairs。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。