我有一个CSV文件,其中包含9541对点ID和它们之间的距离列表,以及另一个包含相同对但每个距离不同的文件。我99%肯定他们是同一对。
我已将它们放在表a
和b
中,并将它们合并为:
names(a) <- c('Point1', 'Point2', 'Distance')
names(b) <- c('Point1', 'Point2', 'Cheby')
m <- merge(a, b)
除了m
之外,所有好的行都比我预期的多8行。我也尝试与all.x=TRUE
和all.y=TRUE
合并,结果相同,没有字段NA
。我怎么找到8个额外的行是什么,所以我可以弄清楚它们为什么存在?
我尝试将m
与a
和b
合并,以查看哪些行NA
,但没有。甚至更奇怪,现在有9565行。如果我合并了一小部分数据帧,它就可以完美地运行,但是我想知道是否有更优雅的方法来找出出错的地方,而不是合并越来越大的子集,直到我得到意想不到的行数。
答案 0 :(得分:2)
听起来有些点可能会在数据框中重复出现?尝试
a1 <- a[,-ncol(a)]
a1[duplicated(a1),]
b1 <- b[,-ncol(b)]
b1[duplicated(b1),]
查看是否有任何重复点。
修改另外,要获取a
中包含重复点的所有行,您可以执行以下操作:
a1 <- a[,-ncol(a)]
duplicated_points_a <- a1[duplicated(a1),]
merge(duplicated_points_a, a)