新しいデータフレームを作成する必要があります。新しいデータフレームは2番目のデータにない最初のデータフレームの各行フレーム。私はこの方法でそれを可能にするマージ関数を使用していくつかのコードhereを見つけました。結果のマージが結果を持っている場合は、基本的に、その行はデータフレームであると私は新しいものにそれを追加しないでください:R 2つのデータフレーム間で一意の行から新しいデータフレームを効率的に作成する
for (j in 1:nrow(my.df)) {
if(nrow(merge(my.df[j,],sample.df))==0) {
test.df <- rbind(test.df,my.df[j,])
}
}
問題は、ループのために非常に遅いことです。私が持っている制約を考慮して、データフレームを構築するより効率的な方法はありますか?
A B class
1 2 x
test.df
my.df
A B class
1 2 x
2 3 y
3 4 z
sample.df
は
A B class
2 3 y
3 4 z
外観と '?dplyr :: anti_joinを(得るために
library(data.table)
でdata.tables
に変換することができます'以上の助けを借りて、理想的な出力を持つ再現可能な例を投稿してください:) – Nateコードは再現可能で、2つのデータフレームが必要で、探している出力が得られます(コードはそのまま動作します)。私はもっと速い方法を探しています。 – xjtc55
'my.df'はどのように見えますか? 'sample.df'についてどうですか? – Nate