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


R dbplyr arrange.tbl_lazy 按列值排列行


这是 dplyr arrange() 泛型的方法。它生成 SQL 查询的 ORDER BY 子句。它还影响 mutate.tbl_lazy() 中窗口表达式的 window_order()

请注意,ORDER BY 子句通常不能出现在子查询中,这意味着您应该在管道中尽可能晚地arrange()

用法

# S3 method for tbl_lazy
arrange(.data, ..., .by_group = FALSE)

参数

.data

由数据库查询支持的惰性 DataFrame 。

...

< data-masking > 变量,或变量的函数。使用desc() 按降序对变量进行排序。

.by_group

如果TRUE,将首先按分组变量排序。仅适用于分组 DataFrame 。

另一个tbl_lazy。使用show_query()查看生成的查询,并使用collect()执行查询并将数据返回到R。

缺失值

与 R 不同,大多数数据库将 NA ( NULL s) 排序在前面。您可以通过显式对 is.na(x) 进行排序来覆盖此行为。

例子

library(dplyr, warn.conflicts = FALSE)

db <- memdb_frame(a = c(3, 4, 1, 2), b = c(5, 1, 2, NA))
db %>% arrange(a) %>% show_query()
#> <SQL>
#> SELECT *
#> FROM `dbplyr_001`
#> ORDER BY `a`

# Note that NAs are sorted first
db %>% arrange(b)
#> # Source:     SQL [4 x 2]
#> # Database:   sqlite 3.41.2 [:memory:]
#> # Ordered by: b
#>       a     b
#>   <dbl> <dbl>
#> 1     2    NA
#> 2     4     1
#> 3     1     2
#> 4     3     5
# override by sorting on is.na() first
db %>% arrange(is.na(b), b)
#> # Source:     SQL [4 x 2]
#> # Database:   sqlite 3.41.2 [:memory:]
#> # Ordered by: is.na(b), b
#>       a     b
#>   <dbl> <dbl>
#> 1     4     1
#> 2     1     2
#> 3     3     5
#> 4     2    NA
源代码:R/verb-arrange.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Arrange rows by column values。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。