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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。