在R中查找两个数据帧之间的差异可以使用以下方法:
setdiff()
函数:setdiff()
函数可以用于比较两个数据帧的差异。它返回在第一个数据帧中出现而在第二个数据帧中没有出现的行。例如:df1 <- data.frame(A = c(1, 2, 3), B = c("a", "b", "c"))
df2 <- data.frame(A = c(2, 3, 4), B = c("b", "c", "d"))
diff_rows <- setdiff(df1, df2)
这将返回一个包含第一个数据帧中与第二个数据帧不同的行的新数据帧。
anti_join()
函数:anti_join()
函数可以用于查找两个数据帧之间的差异。它返回在第一个数据帧中出现而在第二个数据帧中没有出现的行。例如:library(dplyr)
df1 <- data.frame(A = c(1, 2, 3), B = c("a", "b", "c"))
df2 <- data.frame(A = c(2, 3, 4), B = c("b", "c", "d"))
diff_rows <- anti_join(df1, df2, by = c("A", "B"))
这将返回一个包含第一个数据帧中与第二个数据帧不同的行的新数据帧。
diff_df()
函数:diff_df()
函数是一个自定义函数,可以用于比较两个数据帧的差异。它返回在第一个数据帧中出现而在第二个数据帧中没有出现的行。例如:diff_df <- function(df1, df2) {
rows <- !duplicated(rbind(df1, df2))
diff_rows <- rbind(df1, df2)[rows, ]
return(diff_rows)
}
df1 <- data.frame(A = c(1, 2, 3), B = c("a", "b", "c"))
df2 <- data.frame(A = c(2, 3, 4), B = c("b", "c", "d"))
diff_rows <- diff_df(df1, df2)
这将返回一个包含第一个数据帧中与第二个数据帧不同的行的新数据帧。
以上是在R中查找两个数据帧之间差异的几种方法。这些方法可以帮助您比较和找出两个数据帧之间的不同之处。
领取专属 10元无门槛券
手把手带您无忧上云