R:在多个列中查找模式 - 可能是重复的()?

标签 r

我正在尝试隔离数据框中具有共同值的条目:请参阅下文以重建我的 df 的一部分:

Stand<-c("MY","MY","MY","MY","MY")
Plot<-c(12,12,12,12,12)
StumpNumber<-c(1,2,3,3,7)
TreeNumber<-c(1,2,3,4,8)
sample<-data.frame(Stand,Plot,StumpNumber,TreeNumber)
sample

并获得一个输出,告诉我哪些条目具有共同值。换句话说,快速隔离对于给定的 Stand、Plot、StumpNumber 组合存在多个 TreeNumber(或多于一行)的情况。在示例代码中,StumpNumber 3 具有 TreeNumber 3 和 TreeNumber 4。

我对重复()的理解是,它可以找到单个列中出现重复值的实例 - 我可以做什么来查找出现常见列组合的情况?

谢谢。

最佳答案

?duplicated 的说明表明它适用于 data.frames 行,详细信息部分的第四段表示:

 The data frame method works by pasting together a character
 representation of the rows separated by ‘\r’, so may be imperfect
 if the data frame has characters with embedded carriage returns or
 columns which do not reliably map to characters.

您是如何了解到它仅适用于单列的?

假设 TreeNumberStandPlotStumpNumber 中是唯一的,您只需将其从调用重复

> duplicated(sample[,1:3])
[1] FALSE FALSE FALSE  TRUE FALSE
> duplicated(sample[,1:3], fromLast=TRUE)
[1] FALSE FALSE  TRUE FALSE FALSE

更新 - 如果您想要所有重复的行,您可以执行以下操作:

> allDups <- duplicated(sample[,1:3],fromLast=TRUE) | duplicated(sample[,1:3])
> sample[allDups,]
  Stand Plot StumpNumber TreeNumber
3    MY   12           3          3
4    MY   12           3          4

关于R:在多个列中查找模式 - 可能是重复的()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4140833/

相关文章:

r - 在 r 中创建二元运算符

r - 找不到功能 tagPOS

r - 如何在每个组内创建滞后变量?

r - 在 R 中更改主目录

r - DataTables 也应用列格式来过滤

html - shinydashboard 标题下拉列表添加组链接

r - 从 R 中的宽数据一次创建多个新的长列?

r - 方法链与 R

r - Rmarkdown 文档中的源嵌套 R 文件

r - 如何在 data.table 中进行否定/不匹配/反向搜索?