mardi 9 juin 2020

Create a new column in R depends on values from different columns

Hi I have three columns Frequency score,MonetoryScore,RecencyScore each one has discrete values from 1:5

I need to mutate a new column depends on this criteria

[![criteria][1]][1]

RFM$col2 <- ifelse(RFM$RecencyScore == 4||5 && RFM$FrequencyScore== 4||5 && RFM$MonetoryScore==4||5 , "Champions",
        ifelse(RFM$RecencyScore == 2||5 && RFM$FrequencyScore== 3||5 && RFM$MonetoryScore ==3||5 , "Loyal",
           ifelse(RFM$RecencyScore == 3||5 &&RFM$FrequencyScore== 1||3 && RFM$MonetoryScore==1||3 , "Potential Loyalist",
      ifelse(RFM$RecencyScore == 4||5 &&RFM$FrequencyScore<= 1 && RFM$MonetoryScore<=1 , "New Customers",
      ifelse(RFM$RecencyScore == 3||4 &&RFM$FrequencyScore<= 1 && RFM$MonetoryScore<= 1 , "Promising Recent",
      ifelse(RFM$RecencyScore == 2||3 &&RFM$FrequencyScore== 2||3 && RFM$MonetoryScore==2||3 , "Need attention",
      ifelse(RFM$RecencyScore == 2||3 &&RFM$FrequencyScore<= 2 && RFM$MonetoryScore <= 2 , "About to sleep",
      ifelse(RFM$RecencyScore <= 2 &&RFM$FrequencyScore== 2||5 && RFM$MonetoryScore==2||5 , "At Risk",
      ifelse(RFM$RecencyScore <= 1 &&RFM$FrequencyScore== 4||5 && RFM$MonetoryScore== 4 ||5 , "Can't Lose them",
      ifelse(RFM$RecencyScore == 1||2 &&RFM$FrequencyScore == 4||5 && RFM$MonetoryScore==4||5 , "Can't Lose them",
      ifelse(RFM$RecencyScore <= 1 &&RFM$FrequencyScore== 1||2 && RFM$MonetoryScore==1||2 , "Hibernating",
      ifelse(RFM$RecencyScore <= 2 && RFM$FrequencyScore <= 2 && RFM$MonetoryScore<= 2 , "Lost",

                        NA  ))))))))))))
table(RFM$col2)

it returns all champions


  [1]: https://i.stack.imgur.com/22aGN.png

Aucun commentaire:

Enregistrer un commentaire