如何使用开关解决条件问题

时间:2019-09-08 08:26:50

标签: r

我有一个数据框客户,其中包含两个变量,

1)性别

2)总费用

我想在“性别”列的第6个单元格中检查性别,并希望基于性别从总费用中给予折扣。如果是男性,折扣率为20%,如果是女性,则折扣率为50%。

我可以使用开关功能来做到这一点吗?任何帮助将不胜感激。

我使用了下面提到的代码;

x=switch(customer[c(6),"gender"],"Male","Female") %>%
  ifelse(gender == 'Female',
         MonthlyCharges * 0.5,
         MonthlyCharges * 0.2)

以下是我遇到的错误

  

ifelse(。,性别==“女性”,每月收费* 0.5,   MonthlyCharges *:未使用的参数(MonthlyCharges * 0.2)在   另外:警告消息:在switch(customer [c(6),“ gender”],“ Male”,   “女性”):EXPR是一个“因子”,被视为整数。考虑使用   改为使用“ switch(as.character(*),...)”。

1 个答案:

答案 0 :(得分:0)

使用此代码

for(cellIndex in 1:length(customerchurn$gender)) {
  if(cellIndex==6) {
    result<-switch(customerchurn$gender[cellIndex], 
                   "Male"=customerchurn$MonthlyCharges[cellIndex]*.2,
                   "Female"=customerchurn$MonthlyCharges[cellIndex]*.5)
    break
  }
}
print(result)