使用數據幀的行執行集合運算。
-
intersect(x, y)
查找x
和y
中的所有行。 -
union(x, y)
查找x
或y
中的所有行,不包括重複項。 -
union_all(x, y)
查找x
或y
中的所有行,包括重複項。 -
setdiff(x, y)
查找x
中不在y
中的所有行。 -
symdiff(x, y)
計算對稱差,即x
中不在y
中的所有行以及y
中不在x
中的所有行。 -
如果
x
和y
包含相同的行(忽略順序),setequal(x, y)
返回TRUE
。
請注意, intersect()
、 union()
、 setdiff()
和 symdiff()
刪除 x
和 y
中的重複項。
用法
intersect(x, y, ...)
union(x, y, ...)
union_all(x, y, ...)
setdiff(x, y, ...)
setequal(x, y, ...)
symdiff(x, y, ...)
例子
df1 <- tibble(x = 1:3)
df2 <- tibble(x = 3:5)
intersect(df1, df2)
#> # A tibble: 1 × 1
#> x
#> <int>
#> 1 3
union(df1, df2)
#> # A tibble: 5 × 1
#> x
#> <int>
#> 1 1
#> 2 2
#> 3 3
#> 4 4
#> 5 5
union_all(df1, df2)
#> # A tibble: 6 × 1
#> x
#> <int>
#> 1 1
#> 2 2
#> 3 3
#> 4 3
#> 5 4
#> 6 5
setdiff(df1, df2)
#> # A tibble: 2 × 1
#> x
#> <int>
#> 1 1
#> 2 2
setdiff(df2, df1)
#> # A tibble: 2 × 1
#> x
#> <int>
#> 1 4
#> 2 5
symdiff(df1, df2)
#> # A tibble: 4 × 1
#> x
#> <int>
#> 1 1
#> 2 2
#> 3 4
#> 4 5
setequal(df1, df2)
#> [1] FALSE
setequal(df1, df1[3:1, ])
#> [1] TRUE
# Note that the following functions remove pre-existing duplicates:
df1 <- tibble(x = c(1:3, 3, 3))
df2 <- tibble(x = c(3:5, 5))
intersect(df1, df2)
#> # A tibble: 1 × 1
#> x
#> <dbl>
#> 1 3
union(df1, df2)
#> # A tibble: 5 × 1
#> x
#> <dbl>
#> 1 1
#> 2 2
#> 3 3
#> 4 4
#> 5 5
setdiff(df1, df2)
#> # A tibble: 2 × 1
#> x
#> <dbl>
#> 1 1
#> 2 2
symdiff(df1, df2)
#> # A tibble: 4 × 1
#> x
#> <dbl>
#> 1 1
#> 2 2
#> 3 4
#> 4 5
相關用法
- R dplyr select_all 選擇並重命名一組變量
- R dplyr select 使用列的名稱和類型保留或刪除列
- R dplyr slice 使用行的位置對行進行子集化
- R dplyr sample_n 從表中采樣 n 行
- R dplyr starwars 星球大戰人物
- R dplyr storms 風暴追蹤數據
- R dplyr summarise_all 匯總多列
- R dplyr summarise 將每組匯總為一行
- R dplyr group_trim 修剪分組結構
- R dplyr copy_to 將本地數據幀複製到遠程src
- 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 desc 降序
- R dplyr between 檢測值落在指定範圍內的位置
- R dplyr cumall 任何、全部和平均值的累積版本
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Set operations。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。