У меня есть следующий набор данных, который уже отсортирован по транзакции:
dataset <- data.frame(id = c(1,2,3,4,2,4,6,7,3,2),
transaction = c(1,2,3,4,5,6,7,8,9,10),
amount = c(200,100,50,100,50,300,100,50,100,50))
Как видите, у каждого клиента есть Id и сумма, потраченная на транзакцию.
My Вопрос в том, как определить, является ли клиент новым в транзакции, или он повторяется. Новый клиент означает, что это его первая транзакция, а следующие являются повторяющимися.
recurrence_status <- c("new","new","new","new","recurrent",
"recurrent","new","new","recurrent","recurrent")
До сих пор я пробовал следующее:
for (i in 1:(length(dataset$transaction)-1)){
for(j in 2:length(dataset$transaction)){
j <- j + 1
comp <- dataset[j:length(dataset$id)]
ifelse((is.element(dataset[i,1]),comp),"recurrent","new")
}
}
Но это дает мне ошибку из-за в скобках. Я знаю, что по возможности следует избегать использования циклов в R. Пожалуйста, любая помощь будет приветствоваться.
С уважением,