我有一个数据框客户,其中包含两个变量,
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(*),...)”。
答案 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)