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


R c 将值组合到向量或列表中


R语言 c 位于 base 包(package)。

说明

这是一个结合了其参数的通用函数。

默认方法将其参数组合起来形成一个向量。所有参数都被强制转换为通用类型,即返回值的类型,并且除名称之外的所有属性都将被删除。

用法

## S3 Generic function
c(...)

## Default S3 method:
c(..., recursive = FALSE, use.names = TRUE)

参数

...

要连接的对象。所有 NULL 条目都会在方法分派之前删除,除非位于参数列表的最开头。

recursive

合乎逻辑的。如果是 recursive = TRUE ,则函数通过列表(和配对列表)递归下降,将所有元素组合成一个向量。

use.names

逻辑指示是否应保留names

细节

输出类型由层次结构中组件的最高类型确定 NULL < raw < 逻辑 < 整数 < 双精度 < 复杂 < 字符 < 列表 < 表达式。对列表被视为列表,而非向量组件(例如 name s /symbol s 和 call s)被视为单元素 list s,即使 recursive = TRUE 也无法取消列出。

有一种c.factor方法将因子组合成一个因子。

c 有时用于删除除名称之外的属性的副作用,例如将 array 转换为向量。 as.vector 是一种更直观的方法,但也会删除名称。请注意,默认值以外的方法不需要执行此操作(并且它们几乎肯定会保留类属性)。

这是primitive 函数。

NULL 或适当模式的表达式或向量。 (如果没有参数,则值为 NULL 。)

S4方法

该函数是 S4 通用函数,但带有参数列表 (x, ...)

例子

c(1,7:9)
c(1:5, 10.5, "next")

## uses with a single argument to drop attributes
x <- 1:4
names(x) <- letters[1:4]
x
c(x)          # has names
as.vector(x)  # no names
dim(x) <- c(2,2)
x
c(x)
as.vector(x)

## append to a list:
ll <- list(A = 1, c = "C")
## do *not* use
c(ll, d = 1:3) # which is == c(ll, as.list(c(d = 1:3)))
## but rather
c(ll, d = list(1:3))  # c() combining two lists

c(list(A = c(B = 1)), recursive = TRUE)

c(options(), recursive = TRUE)
c(list(A = c(B = 1, C = 2), B = c(E = 7)), recursive = TRUE)

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

unlistas.vector 生成 attribute-free 向量。

相关用法


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