當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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