top_n()
已被取代slice_min()
/slice_max()
。雖然它不會在不久的將來被棄用,但退役意味著我們隻會執行關鍵的錯誤修複,因此我們建議轉向更新的替代方案。
top_n()
已被取代,因為該名稱從根本上令人困惑,因為它返回您可能合理地認為是底部行的內容。此外,wt
變量的名稱令人困惑,默認值也很奇怪( DataFrame 中的最後一列)。不幸的是,我們找不到一種簡單的方法來修複現有的 top_n()
函數而不破壞現有代碼,因此我們創建了一個新的替代方案。
參數
- x
-
一個 DataFrame 。
- n
-
top_n()
返回的行數,top_frac()
返回的行數。如果n
為正,則選擇頂部行。如果為負,則選擇底部行。如果x
已分組,則這是每組的行數(或分數)。如果存在平局,將包含更多行。 - wt
-
(可選的)。用於排序的變量。如果未指定,則默認為表中的最後一個變量。
例子
df <- data.frame(x = c(6, 4, 1, 10, 3, 1, 1))
df %>% top_n(2) # highest values
#> Selecting by x
#> x
#> 1 6
#> 2 10
df %>% top_n(-2) # lowest values
#> Selecting by x
#> x
#> 1 1
#> 2 1
#> 3 1
# now use
df %>% slice_max(x, n = 2)
#> x
#> 1 10
#> 2 6
df %>% slice_min(x, n = 2)
#> x
#> 1 1
#> 2 1
#> 3 1
# top_frac() -> prop argument of slice_min()/slice_max()
df %>% top_frac(.5)
#> Selecting by x
#> x
#> 1 6
#> 2 4
#> 3 10
# ->
df %>% slice_max(x, prop = 0.5)
#> x
#> 1 10
#> 2 6
#> 3 4
相關用法
- 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 desc 降序
- R dplyr between 檢測值落在指定範圍內的位置
- R dplyr cumall 任何、全部和平均值的累積版本
- R dplyr group_map 對每個組應用一個函數
- R dplyr do 做任何事情
- R dplyr nest_join 嵌套連接
- R dplyr pull 提取單列
- R dplyr group_by_all 按選擇的變量進行分組
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Select top (or bottom) n rows (by value)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。