Удалить некоторые наблюдения на основе двух критериев - PullRequest
0 голосов
/ 13 мая 2018

отмечены все строки, в которых есть наблюдения для одной и той же даты и ключа.

#Data
 Key   Date   Value       ...other columns
 C    2000-04   0.55         name1     x1   <- 
 C    2000-04   0.60         name2     x2   <-
 C    2000-05   1.2
 A    2001-06   4
 A    2001-07   5
 A    2002-08   2

Есть ли простой способ удалить эти наблюдения вместо их суммирования?

Спасибомного!:)

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Я не уверен, правильно ли я понимаю.Если да, очень простой ответ - функция unique ().

Во-первых, у вас должна быть очень веская причина для удаления этих дубликатов.

Key  <- c("C", "C", "C", "A", "A", "A", "C", "C", "C")
Value <- c(1, 2, 1, 2, 1, 2, 1, 2, 1)
df <- data.frame(Key, Value)
unique(df)
0 голосов
/ 13 мая 2018

Просто дважды используйте duplicated, один со значением по умолчанию fromLast = FALSE, а другой - fromLast = TRUE.
Затем отрицайте индекс результата.

inx <- duplicated(Data[c('Key', 'Date')]) | duplicated(Data[c('Key', 'Date')], fromLast = TRUE)

Data[!inx, ]
#  Key    Date Value
#3   C 2000-05   1.2
#4   A 2001-06   4.0
#5   A 2001-07   5.0
#6   A 2002-08   2.0

Данные.

Data <-
structure(list(Key = structure(c(2L, 2L, 2L, 1L, 1L, 1L), .Label = c("A", 
"C"), class = "factor"), Date = structure(c(1L, 1L, 2L, 3L, 4L, 
5L), .Label = c("2000-04", "2000-05", "2001-06", "2001-07", "2002-08"
), class = "factor"), Value = c(0.55, 0.6, 1.2, 4, 5, 2)), class = "data.frame", row.names = c(NA, 
-6L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...