加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – 如何检查两个数据帧是否相等

发布时间:2020-12-12 16:40:19 所属栏目:MsSql教程 来源:网络整理
导读:参见英文答案 regarding matrix comparison in R1 说我在R中有大的数据集,我只想知道他们中的两个是否相同.当我尝试不同的算法以获得相同的结果时,我经常使用这个.例如,假设我们有以下数据集: df1 - data.frame(num = 1:5,let = letters[1:5])df2 - df1df3 -
参见英文答案 > regarding matrix comparison in R1
说我在R中有大的数据集,我只想知道他们中的两个是否相同.当我尝试不同的算法以获得相同的结果时,我经常使用这个.例如,假设我们有以下数据集:
df1 <- data.frame(num = 1:5,let = letters[1:5])
df2 <- df1
df3 <- data.frame(num = c(1:5,NA),let = letters[1:6])
df4 <- df3

所以这是我做的比较他们:

table(x == y,useNA = 'ifany')

当数据集没有NAs时,它的效果很好:

> table(df1 == df2,useNA = 'ifany')
TRUE 
  10

但是当他们有NAs的时候不会太多:

> table(df3 == df4,useNA = 'ifany')
TRUE <NA> 
  11    1

在这个例子中,很容易忽略NA不是一个问题,因为我们知道这两个数据帧是相等的.问题是NA ==< anything>产生NA,所以每当一个数据集有一个NA时,另一个数据集在同一个位置上无关紧要,结果总是为NA.

所以使用table()来比较数据集对我来说似乎不理想.如何更好地检查两个数据帧是否相同?

请注意,这不是R – comparing several datasets,Comparing 2 datasets in R或Compare datasets in R的副本

解决方法

查找all.equal.它有一些车手,但它可能为你工作.
all.equal(df3,df4)
# [1] TRUE
all.equal(df2,df1)
# [1] TRUE

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读