选择数据框中的第一行和最后一行?

时间:2018-12-22 01:20:17

标签: r

BASE R中是否有一个函数可以显示数据帧中的第一行和最后一行?我知道像ropls::strF这样的函数并在data.table中打印对象可以做到这一点。它不是这个主题Select first and last row from grouped data

  ropls::strF(iris)
  #Sepal.Length Sepal.Width ... Petal.Width Species
  #numeric     numeric ...     numeric  factor
  #nRow nCol size NAs
  #150    5 0 Mb   0
  #Sepal.Length Sepal.Width ... Petal.Width   Species
#1            5.1         3.5 ...         0.2    setosa
#2            4.9           3 ...         0.2    setosa
#...          ...         ... ...         ...       ...
#149          6.2         3.4 ...         2.3 virginica
#150          5.9           3 ...         1.8 virginica

library(data.table)
a <- as.data.table(iris)
a
 # Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
 #1:          5.1         3.5          1.4         0.2    setosa
 #2:          4.9         3.0          1.4         0.2    setosa
 #3:          4.7         3.2          1.3         0.2    setosa
 #4:          4.6         3.1          1.5         0.2    setosa
 #5:          5.0         3.6          1.4         0.2    setosa
 #---                                                            
 #146:          6.7         3.0          5.2         2.3 virginica
 #147:          6.3         2.5          5.0         1.9 virginica
 #148:          6.5         3.0          5.2         2.0 virginica
 #149:          6.2         3.4          5.4         2.3 virginica
 #150:          5.9         3.0          5.1         1.8 virginica

1 个答案:

答案 0 :(得分:0)

正如其他人在评论中说的那样,基R中没有一个函数可以执行此操作,但是编写一个将前N行和后N行绑定在一起的函数足够简单。

head_and_tail <- function(x, n = 1) {
  rbind(
    head(x, n),
    tail(x, n)
  )
}

head_and_tail(iris, n = 3)
#>     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
#> 1            5.1         3.5          1.4         0.2    setosa
#> 2            4.9         3.0          1.4         0.2    setosa
#> 3            4.7         3.2          1.3         0.2    setosa
#> 148          6.5         3.0          5.2         2.0 virginica
#> 149          6.2         3.4          5.4         2.3 virginica
#> 150          5.9         3.0          5.1         1.8 virginica

reprex package(v0.2.1)于2018-12-22创建