Rのデータフレームに対してSQLのUNIONとINTERSECTを実行する。
タイトルのまんまの問題で恐ろしくはまって自作関数をつくろうとしていたので、メモ
参考:R help - union of two data frames
http://r.789695.n4.nabble.com/union-of-two-data-frames-td848979.html
#2つの異なるデータフレームを作成する df1 <- data.frame(a = 1:10, b = 11:20) df2 <- data.frame(a = c(1:2,98), b = c(11:12, 99)) #df1 # a b # 1 1 11 # 2 2 12 # 3 3 13 # 4 4 14 # 5 5 15 # 6 6 16 # 7 7 17 # 8 8 18 # 9 9 19 # 10 10 20 #df2 # a b # 1 1 11 # 2 2 12 # 3 98 99 #(1,11)(2,12)が重複している #UNIONに相当する計算 merge(df1, df2, all = TRUE) # a b # 1 1 11 # 2 2 12 # 3 3 13 # 4 4 14 # 5 5 15 # 6 6 16 # 7 7 17 # 8 8 18 # 9 9 19 # 10 10 20 # 11 98 99 #INTERSECTに相当する計算 merge(df1, df2, all = FALSE) # a b # 1 1 11 # 2 2 12