R语言
lengths
位于 base
包(package)。 说明
获取 list
或原子向量 ( is.atomic
) 的每个元素的长度作为整数或数值向量。
用法
lengths(x, use.names = TRUE)
参数
x |
|
use.names |
逻辑指示结果是否应从 |
细节
此函数循环 x
并返回一个兼容向量,其中包含 x
中每个元素的长度。实际上,length(x[[i]])
被所有 i
调用,因此 length
上的任何方法都会被考虑。
lengths
是通用的:您可以编写方法来处理特定类的对象,请参阅 InternalMethods 。
值
长度为 length(x)
的非负 integer
,但任何元素的长度超过 元素时除外,当它返回双向量时。当 use.names
为 true 时,名称取自 x
上的名称(如果有)。
注意
lengths(x)
存在的理由之一是它用作 sapply(x, length)
的更高效版本,以及对 length
的类似 *apply
调用。这就是为什么 x
可能是原子向量的原因,尽管 lengths(x)
在这种情况下是微不足道的。
例子
require(stats)
## summarize by month
l <- split(airquality$Ozone, airquality$Month)
avgOz <- lapply(l, mean, na.rm=TRUE)
## merge result
airquality$avgOz <- rep(unlist(avgOz, use.names=FALSE), lengths(l))
## but this is safer and cleaner, but can be slower
airquality$avgOz <- unsplit(avgOz, airquality$Month)
## should always be true, except when a length does not fit in 32 bits
stopifnot(identical(lengths(l), vapply(l, length, integer(1L))))
## empty lists are not a problem
x <- list()
stopifnot(identical(lengths(x), integer()))
## nor are "list-like" expressions:
lengths(expression(u, v, 1+ 0:9))
## and we should dispatch to length methods
f <- c(rep(1, 3), rep(2, 6), 3)
dates <- split(as.POSIXlt(Sys.time() + 1:10), f)
stopifnot(identical(lengths(dates), vapply(dates, length, integer(1L))))
也可以看看
length
获取任意长度R对象。
相关用法
- R length 物体的长度
- R levels 级别属性
- R lapply 对列表或向量应用函数
- R list2DF 从列表创建 DataFrame
- R ls 列出对象
- R libPaths 包的搜索路径
- R load 重新加载保存的数据集
- R lower.tri 矩阵的下三角部分和上三角部分
- R log 对数和指数
- R locales 查询或设置区域设置的各个方面
- R l10n_info 本地化信息
- R license R 许可条款
- R list.files 列出目录/文件夹中的文件
- R labels 从对象中查找标签
- R list 列表 – 通用和点对
- R library 加载/附加和列出包
- R logical 逻辑向量
- R list2env 从列表中构建或添加到环境
- R library.dynam 从包中加载 DLL
- R libcurlVersion libcurl 的报告版本
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R dump R 对象的文本表示
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Lengths of List or Vector Elements。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。