我有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)
无效,
版本==
答案 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]])