簡體   English   中英

在 R 中比較兩個數據幀之間的幾列的最快方法是什么?

[英]Which is the fastest way to compare a couple of columns between two data frames in R?

它是關於比較組 var1 和 var2。 例子:

df1:
index  var1  var2  col1 col2
 1       2     3     4    5
 2      10    12    15   16
 3      23    45     1   21
 4      26    18    10   16
 5      20    26    14   22

df2:
index  var1  var2  col1 col2
 1       2     3     4    5
 2     666    12    15   16
 3      23    45     1   21
 4      26   555    10   16
 5      20    26    14   22

請注意,只有 2 個更改。

result df:
index  var1  var2  col1 col2
 1       2     3     4    5
 3      23    45     1   21
 5      20    26    14   22

我認為mergejoin可以滿足您的需求:

merge(df1, df2[,c("index", "var1", "var2")], by = c("index", "var1", "var2"))
#   index var1 var2 col1 col2
# 1     1    2    3    4    5
# 2     3   23   45    1   21
# 3     5   20   26   14   22

dplyr::inner_join(df1, df2[,c("index", "var1", "var2")], by = c("index", "var1", "var2"))
#   index var1 var2 col1 col2
# 1     1    2    3    4    5
# 2     3   23   45    1   21
# 3     5   20   26   14   22

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM