Подсчитать и пронумеровать каждое вхождение повторяющейся строки (на основе значений 2 переменных) в R - PullRequest
1 голос
/ 24 сентября 2019
a                b            #Encounter

1           112233              1

2           334455              1

1           112233              2

3           445566              1

2           334455              2

2           334455              3

3           445566              2

3           445566              3

3           445566              4

Как бы я вычислил #Encounter, учитывая столбцы a и b, по R?

Код Excel будет: = countifs (a (Range), a, b (Range), б)

1 Ответ

1 голос
/ 24 сентября 2019

Опция в base R будет использовать ave

df1$Encounter <- with(df1, ave(seq_along(a), a, b, FUN = seq_along))
df1$Encounter
#[1] 1 1 2 1 2 3 2 3 4

Или в data.table

library(data.table)
setDT(df1)[, Encounter := rowid(a, b)]

data

df1 <- structure(list(a = c(1L, 2L, 1L, 3L, 2L, 2L, 3L, 3L, 3L), b = c(112233L, 
 334455L, 112233L, 445566L, 334455L, 334455L, 445566L, 445566L, 
  445566L)), row.names = c(NA, -9L), class = "data.frame")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...