Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 按行删除重复项(仅相同列)_R_Data.table - Fatal编程技术网

R 按行删除重复项(仅相同列)

R 按行删除重复项(仅相同列),r,data.table,R,Data.table,我知道有很多方法,但它们不适合我的要求 我发现了唯一的、重复的、不同的,但这些似乎与其他列/行相比较 我想要的是相同列的两个数据比较 DT <- data.table(first=c("A","A","A","B","B","C","D"), second=c("A","B","D","B","D","C","A"), value=c(90,47,189,72,42,86,280)) 我使用这些方法,只返回相同的数据 DT <

我知道有很多方法,但它们不适合我的要求

我发现了唯一的、重复的、不同的,但这些似乎与其他列/行相比较

我想要的是相同列的两个数据比较

DT <- data.table(first=c("A","A","A","B","B","C","D"),
              second=c("A","B","D","B","D","C","A"),
              value=c(90,47,189,72,42,86,280))
我使用这些方法,只返回相同的数据

DT <- unique(DT, by=c('first','second'))
DT <- DT[!duplicated(DT[,c("first","second")]),]
DT <- distinct(DT, first, second, .keep_all= TRUE)
也许方法很简单?只是我觉得它太复杂了。

这不是很简单吗

DT[first != second, ]

#   first second value
#1:     A      B    47
#2:     A      D   189
#3:     B      D    42
#4:     D      A   280
重复的、唯一的执行行计算,这里我们要比较column1和column2,因此基本比较运算符使用!=就够了

这难道不公平吗

DT[first != second, ]

#   first second value
#1:     A      B    47
#2:     A      D   189
#3:     B      D    42
#4:     D      A   280

重复的、唯一的执行行计算,这里我们要比较column1和column2,因此基本比较运算符使用!=就够了

使用data.table非常简单

DT[first != second,]

使用data.table非常简单

DT[first != second,]

示例数据不完整示例数据不完整