2 つの単純なデータフレームがある場合:
a <- 1:10
b <- c("a","b","c","d","e","f","g","h","i","j")
df1 <-data.frame(a,b)
c <- 1:7
d <- c("k","l","m","n","o","p","q")
df2 <-data.frame(c,d)
...そして、df1とdf2をそれぞれ「a」と「c」でマージしたかった:
df3= merge(df1, df2, by.x = "a", by.y = "c")
マージされなかった df1 の行のデータフレームを作成するにはどうすればよいですか? 例えば:
a b
8 8 h
9 9 i
10 10 j
どんな助けでもありがたく受け取られます。
EDIT コメントの提案を使用して、次のことができます。
check = setdiff(df1$a, df2$c)
正しい 8:10 が得られるので、これは素晴らしいことですが、リストされている df1 の他の列が必要です...これは setdiff でも実行できますか?