我对R中的价值匹配感到非常困惑。我的数据的某些部分在3D空间上相交。样品坐标存储在以下数据框架中:
(x,y,z)(100.234,150.656,35.678)
数据集很大。当我将数据集与%函数中的%进行比较时。它不正确。我已经阅读了一些论坛页,有人提到浮点值。如何解决R中的匹配问题?匹配两个数据集的任何示例R代码与某些零件相交?
欢迎来到R级!
我不知道您要使用哪种类型的数据,也不知道数据的比较目的。
但是,以下是您可以找到该信息(输出略有不同)的一些方法:
xdat<-c(10,13,32,17)
ydat<-c(32,17,10,5,19)
> which(xdat %in% ydat)
[1] 1 3 4
> match(xdat,ydat)
[1] 3 NA 1 2
> xdat %in% ydat
[1] TRUE FALSE TRUE TRUE
> unlist(sapply(xdat,function(x) grep(x,ydat)))
[1] 3 1 2
此外,此简短的R参考卡可能有助于寻找不同操作的功能。
很难知道您遇到的问题以及原因。例如,您可以尝试通过以下方式更改值中显示的数字数量:options(digits=7)
查看是否可以找到原因。
此外,您可以根据数据使用round
和signif
功能,请参见下面的示例:
> round(123.786582307,digits=8)%in%round(123.786582308,digits=8)
[1] TRUE
> round(3.786582307,digits=8)%in%round(3.786582308,digits=8)
[1] TRUE
> signif(123.786582307,digits=11)%in%signif(123.786582308,digits=11)
[1] TRUE
> signif(3.786582307,digits=9)%in%signif(3.786582308,digits=9)
[1] TRUE