Сохранить последнюю повторенную строку, отличающуюся столбцом - PullRequest
1 голос
/ 01 апреля 2020

Некоторые строки повторяются за исключением столбца. Итак, все строки с одинаковым значением во всех столбцах, кроме одного, я хочу сохранить до последнего повтора.

Пример:

NC       12/08/19        4
NC       12/08/19        4
NC       12/08/19        7
NC       12/08/19        9

К ...

NC       12/08/19        9

1 Ответ

1 голос
/ 01 апреля 2020

Мы можем сгруппировать по 'col1', 'col2' и slice последней строке

library(dplyr)
df1 %>%
    group_by(col1, col2) %>%
    slice(n())
# A tibble: 1 x 3
# Groups:   col1, col2 [1]
#  col1  col2      col3
#  <chr> <chr>    <int>
#1 NC    12/08/19     9

Или с помощью base R, используйте duplicated, чтобы создать логический вектор с fromLast = TRUE и подмножество строк на основе этих

df1[!duplicated(df1[c('col1', 'col2')], fromLast = TRUE),]
#    col1     col2 col3
#4   NC 12/08/19    9

data

df1 <- structure(list(col1 = c("NC", "NC", "NC", "NC"), col2 = c("12/08/19", 
"12/08/19", "12/08/19", "12/08/19"), col3 = c(4L, 4L, 7L, 9L)), 
class = "data.frame", row.names = c(NA, 
-4L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...