R - 找到一个数据帧中的哪个位置值可以在另一个数据帧中找到

时间:2018-01-11 15:08:53

标签: r

我有2个不同长度的数据帧。 使用下面的函数,我已经提取了每个重复项,包括原件和出现两次以上的重复项。

duplikat_n=matxt[(duplicated(matxt) | duplicated(matxt, fromLast = TRUE)), ]

现在我想在df matxt中找到重复项中的Spot。

which(c(matxt==duplikat_n))

以下函数给出了一个错误:

‘==’ only defined for equally-sized data frames

那么我该如何检查我的重复项所在的数据框matxt中的哪个位置?

示例:

s <- data.frame(Y = sample(c("yes", "no","yes","test")))
x<- data.frame (Z= sample(c("test","random","hello")))

都不是

which(s%in%x)

无效,

版本
==

1 个答案:

答案 0 :(得分:0)

回答评论:

针对您的具体问题,您将duplikat_n定义为matxt的子集。您可以使用相同的定义来获取放入子集的行:

duplikat_n=matxt[(duplicated(matxt) | duplicated(matxt, fromLast = TRUE)), ]

# which rows did you use? these rows:
which(duplicated(matxt) | duplicated(matxt, fromLast = TRUE))

正如您所说,如果您的数据框只是一列,那么您可以将列用作向量:

which(s[[1]] %in% x[[1]])