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


R head 返回对象的第一部分或最后部分


R语言 head 位于 utils 包(package)。

说明

返回向量、矩阵、表、 DataFrame 或函数的第一部分或最后部分。由于head()tail() 是通用函数,因此它们也可能已扩展到其他类。

用法

head(x, ...)
## Default S3 method:
head(x, n = 6L, ...)

## S3 method for class 'matrix'
head(x, n = 6L, ...) # is exported as head.matrix()
## NB: The methods for 'data.frame' and 'array'  are identical to the 'matrix' one

## S3 method for class 'ftable'
head(x, n = 6L, ...)
## S3 method for class 'function'
head(x, n = 6L, ...)


tail(x, ...)
## Default S3 method:
tail(x, n = 6L, keepnums = FALSE, addrownums, ...)
## S3 method for class 'matrix'
tail(x, n = 6L, keepnums = TRUE, addrownums, ...) # exported as tail.matrix()
## NB: The methods for 'data.frame', 'array', and 'table'
##     are identical to the  'matrix'  one

## S3 method for class 'ftable'
tail(x, n = 6L, keepnums = FALSE, addrownums, ...)
## S3 method for class 'function'
tail(x, n = 6L, ...)

参数

x

一个东西

n

长度最大为 dim(x) 的整数向量(对于无尺寸对象,为 1)。 logical 被默默地强制为整数。值指定要在对象的相应维度(或沿长度)中选择的索引。 n[i] 的正值包括该维度中的第一个/最后一个 n[i] 索引,而负值则排除最后一个/第一个 abs(n[i]) ,包括所有剩余索引。 NA 或非指定值(当 length(n) < length(dim(x)) 时)选择该维度中的所有索引。必须至少包含一个非缺失值。

keepnums

在每个维度中,如果该维度中不存在名称,则使用该维度中包含的索引创建它们。如果 dim(x)NULL 或其长度为 1,则忽略。

addrownums

已弃用 - 应使用 keepnums 代替。如果keepnums 未显式设置,则取keepnums 的值。

...

要传递给其他方法或从其他方法传递的参数。

细节

对于基于向量/数组的对象, head() ( tail() ) 返回与 x 具有相同维度的子集,通常属于同一类。由于历史原因,默认情况下,它们选择第一维度 ("rows") 中或沿无维度向量长度的前(后)6 个索引,以及任何剩余维度中的完整范围(所有索引)。 head.matrix()tail.matrix() 已导出。

head()tail() 的默认方法和数组(/矩阵)方法非常通用。它们将按原样适用于任何具有 dim() 方法、length() 方法(仅当 dim() 返回 NULL 时才需要)和 [ 方法(接受 drop 参数并可以指定尺寸情况下所有尺寸的子集)。

对于函数,解析函数的行以字符串形式返回。

x 是二维及以上的数组(/矩阵)时,tail() 将添加类似于在所有维度 k 的所有维度 x 的完整打印中显示的暗名称,其中指定了 n[k],并且非缺失且 dimnames(x)[[k]] (或 dimnames(x) 本身)是 NULL 。具体来说,对于不同的维度,添加的dimname的形式会有所不同,如下:

k=1(行):

"[n,]"(右对齐,用空格填充)

k=2(列):

"[,n]"(没有空格填充)

k>2(更高的亮度):

"n" ,即索引作为字符值

设置 keepnums = FALSE 可抑制此行为。

由于 data.frame 子集化 (‘indexing’) 保留 attributes ,因此数据帧的 head()tail() 方法也保留。

一个对象(通常)类似于x,但通常较小。因此,对于 array ,结果对应于 x[.., drop=FALSE] 。对于 ftable 对象 x ,转换后的 format(x)

注意

对于数组输入,当 keepnumsTRUEtail 的输出,为维度 >2 添加的任何暗名称向量都是该维度中作为字符向量的原始数字索引。这意味着,例如,对于 3 维数组 arrtail(arr, c(2,2,-1))[ , , 2]tail(arr, c(2,2,-1))[ , , "2"] 可能都是有效的,但具有完全不同的含义。

例子

head(letters)
head(letters, n = -6L)

head(freeny.x, n = 10L)
head(freeny.y)

head(iris3)
head(iris3, c(6L, 2L))
head(iris3, c(6L, -1L, 2L))

tail(letters)
tail(letters, n = -6L)

tail(freeny.x)
## the bottom-right "corner" :
tail(freeny.x, n = c(4, 2))
tail(freeny.y)

tail(iris3)
tail(iris3, c(6L, 2L))
tail(iris3, c(6L, -1L, 2L))

## iris with dimnames stripped
a3d <- iris3 ; dimnames(a3d) <- NULL
tail(a3d, c(6, -1, 2)) # keepnums = TRUE is default here!
tail(a3d, c(6, -1, 2), keepnums = FALSE)

## data frame w/ a (non-standard) attribute:
treeS <- structure(trees, foo = "bar")
(n <- nrow(treeS))
stopifnot(exprs = { # attribute is kept
    identical(htS <- head(treeS), treeS[1:6, ])
    identical(attr(htS, "foo") , "bar")
    identical(tlS <- tail(treeS), treeS[(n-5):n, ])
    ## BUT if I use "useAttrib(.)", this is *not* ok, when n is of length 2:
    ## --- because [i,j]-indexing of data frames *also* drops "other" attributes ..
    identical(tail(treeS, 3:2), treeS[(n-2):n, 2:3] )
})

tail(library) # last lines of function

head(stats::ftable(Titanic))

## 1d-array (with named dim) :
a1 <- array(1:7, 7); names(dim(a1)) <- "O2"
stopifnot(exprs = {
  identical( tail(a1, 10), a1)
  identical( head(a1, 10), a1)
  identical( head(a1, 1), a1 [1 , drop=FALSE] ) # was a1[1] in R <= 3.6.x
  identical( tail(a1, 2), a1[6:7])
  identical( tail(a1, 1), a1 [7 , drop=FALSE] ) # was a1[7] in R <= 3.6.x
})

作者

Patrick Burns, improved and corrected by R-Core. Negative argument added by Vincent Goulet. Multi-dimension support added by Gabriel Becker.

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Return the First or Last Parts of an Object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。