Изменение значения во всех строках, но самое высокое - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть таблица i R с совокупными ежемесячными продажами. Один из столбцов содержит информацию о том, активен ли клиент в данный момент или нет. У меня проблема в том, что если клиент неактивен, это влияет на все предыдущие месяцы, и все значения для этого клиента неактивны.

Я хочу выделить первый месяц, который был первым неактивным, и изменить все предыдущие. статус месяцев слишком активный.

Таблица выглядит так:

CustomerID   Month_Yr   TotalSales   Status
   5          05-2016      2         INACTIVE
   5          06-2016      5         INACTIVE
   5          07-2016      1         INACTIVE
   5          08-2016      2         INACTIVE
   6          05-2016      4         ACTIVE
   6          06-2016      1         ACTIVE
   6          07-2016      2         ACTIVE

Есть идеи, как это сделать?

1 Ответ

1 голос
/ 16 февраля 2020

Конечные записи для клиента заканчиваются, когда клиент становится неактивным? Если это так, то это будет работать.

library(tidyverse)

df <- data.frame(id = c(5,5,5,5,6), 
                 status = c("Inactive", "Inactive", "Inactive", "Inactive", "Active"),
                 stringsAsFactors = FALSE)

df %>% group_by(id) %>% 
  mutate(status = if_else(row_number() != n(), "Active", status))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...