R 确定“idential()”返回FALSE的原因
我有两个data.frames,我希望它们是相同的,但是idential()返回false 作为背景,一个DF来自Iris数据ARFF文件,而另一个DF来自.rdata文件,如果这改变了什么的话 x==y中的所有元素都为TRUE,两个变量的类相同,两个变量的行名相同,列名也相同 如何确定触发错误输出的原因 编辑:如下所述的所有.equal的输出R 确定“idential()”返回FALSE的原因,r,dataframe,R,Dataframe,我有两个data.frames,我希望它们是相同的,但是idential()返回false 作为背景,一个DF来自Iris数据ARFF文件,而另一个DF来自.rdata文件,如果这改变了什么的话 x==y中的所有元素都为TRUE,两个变量的类相同,两个变量的行名相同,列名也相同 如何确定触发错误输出的原因 编辑:如下所述的所有.equal的输出 [1] "Component 1: Attributes: < Modes: list, NULL >"
[1] "Component 1: Attributes: < Modes: list, NULL >"
[2] "Component 1: Attributes: < names for target but not for current >"
[3] "Component 1: Attributes: < Length mismatch: comparison on first 0 components >"
str(x)的输出:
尝试以下方法:
all.equal(x,y)
否则,请查看
库(比较)
如果您想知道不同的库,可以使用
which(x != y, arr.ind=TRUE)
有趣的是,我已经在我的编辑中发布了你的命令输出,你能解释一下是什么导致的吗?听起来它们的内容相同,但有些属性不同。试着看看
属性(x)
和属性(y)
。实际上我以前也试过,它们看起来完全一样(在上面发布了输出)。还有其他线索吗?非常感谢您的帮助,到目前为止,我还添加了数据集的来源(ARFF与rdata)。您也可以尝试查看str(x)
和str(y)
。谢谢,输出只是显示行列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列列。这是否意味着没有数字差异?是的,它将列出所有不同的行和列。如果没有差异,就不会有行和列。
all.equal(x,y)
which(x != y, arr.ind=TRUE)