作用域動詞( _if
、 _at
、 _all
)已被現有動詞中的 pick()
或 across()
取代。有關詳細信息,請參閱vignette("colwise")
。
distinct()
的這些 scoped 變體通過選擇變量來提取不同的行。與 distinct()
一樣,您可以在使用 .funs
參數進行排序之前修改變量。
用法
distinct_all(.tbl, .funs = list(), ..., .keep_all = FALSE)
distinct_at(.tbl, .vars, .funs = list(), ..., .keep_all = FALSE)
distinct_if(.tbl, .predicate, .funs = list(), ..., .keep_all = FALSE)
參數
- .tbl
-
tbl
對象。 - .funs
-
函數
fun
、 quosure 樣式 lambda~ fun(.)
或任一形式的列表。 - ...
-
.funs
中函數調用的附加參數。這些僅在 tidy dots 支持下評估一次。 - .keep_all
-
如果是
TRUE
,則將所有變量保留在.data
中。如果...
的組合不不同,則保留第一行值。 - .vars
-
由
vars()
生成的列列表、列名稱的字符向量、列位置的數值向量或NULL
。 - .predicate
-
應用於列或邏輯向量的謂詞函數。選擇
.predicate
為或返回TRUE
的變量。該參數傳遞給rlang::as_function()
,因此支持quosure-style lambda 函數和表示函數名稱的字符串。
例子
df <- tibble(x = rep(2:5, each = 2) / 2, y = rep(2:3, each = 4) / 2)
distinct_all(df)
#> # A tibble: 4 × 2
#> x y
#> <dbl> <dbl>
#> 1 1 1
#> 2 1.5 1
#> 3 2 1.5
#> 4 2.5 1.5
# ->
distinct(df, pick(everything()))
#> # A tibble: 4 × 2
#> x y
#> <dbl> <dbl>
#> 1 1 1
#> 2 1.5 1
#> 3 2 1.5
#> 4 2.5 1.5
distinct_at(df, vars(x,y))
#> # A tibble: 4 × 2
#> x y
#> <dbl> <dbl>
#> 1 1 1
#> 2 1.5 1
#> 3 2 1.5
#> 4 2.5 1.5
# ->
distinct(df, pick(x, y))
#> # A tibble: 4 × 2
#> x y
#> <dbl> <dbl>
#> 1 1 1
#> 2 1.5 1
#> 3 2 1.5
#> 4 2.5 1.5
distinct_if(df, is.numeric)
#> # A tibble: 4 × 2
#> x y
#> <dbl> <dbl>
#> 1 1 1
#> 2 1.5 1
#> 3 2 1.5
#> 4 2.5 1.5
# ->
distinct(df, pick(where(is.numeric)))
#> # A tibble: 4 × 2
#> x y
#> <dbl> <dbl>
#> 1 1 1
#> 2 1.5 1
#> 3 2 1.5
#> 4 2.5 1.5
# You can supply a function that will be applied before extracting the distinct values
# The variables of the sorted tibble keep their original values.
distinct_all(df, round)
#> # A tibble: 3 × 2
#> x y
#> <dbl> <dbl>
#> 1 1 1
#> 2 2 1
#> 3 2 2
# ->
distinct(df, across(everything(), round))
#> # A tibble: 3 × 2
#> x y
#> <dbl> <dbl>
#> 1 1 1
#> 2 2 1
#> 3 2 2
相關用法
- R dplyr distinct 保留不同/唯一的行
- R dplyr desc 降序
- R dplyr do 做任何事情
- R dplyr group_trim 修剪分組結構
- R dplyr slice 使用行的位置對行進行子集化
- R dplyr copy_to 將本地數據幀複製到遠程src
- R dplyr sample_n 從表中采樣 n 行
- R dplyr consecutive_id 為連續組合生成唯一標識符
- R dplyr row_number 整數排名函數
- R dplyr band_members 樂隊成員
- R dplyr mutate-joins 變異連接
- R dplyr nth 從向量中提取第一個、最後一個或第 n 個值
- R dplyr coalesce 找到第一個非缺失元素
- R dplyr group_split 按組分割 DataFrame
- R dplyr mutate 創建、修改和刪除列
- R dplyr order_by 用於排序窗口函數輸出的輔助函數
- R dplyr context 有關“當前”組或變量的信息
- R dplyr percent_rank 比例排名函數
- R dplyr recode 重新編碼值
- R dplyr starwars 星球大戰人物
- R dplyr between 檢測值落在指定範圍內的位置
- R dplyr cumall 任何、全部和平均值的累積版本
- R dplyr group_map 對每個組應用一個函數
- R dplyr nest_join 嵌套連接
- R dplyr pull 提取單列
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Select distinct rows by a selection of variables。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。