我需要在销售数据库中对客户进行分组。示例数据库:
CLIENT.CODE PRODUCT SALES
AA1 B 5
AA3 B 5
BB4 B 5
AC87 B 5
我需要做两件事:
1#创建一个列表: 清单(AA1,AC87)
2#更改我的数据框,这样如果客户端代码在该列表中,我将修改为另一个代码
结果:
CLIENT.CODE PRODUCT SALES
Groupe B 5
AA3 B 5
BB4 B 5
Groupe B 5
谢谢
答案 0 :(得分:1)
您可以使用ifelse
df
# CLIENT.CODE PRODUCT SALES
#1 AA1 B 5
#2 AA3 B 5
#3 BB4 B 5
#4 AC87 B 5
client_codes <- c("AA1", "AC87")
df$CLIENT.CODE <- ifelse(df$CLIENT.CODE %in% client_codes,
"Groupe", as.character(df$CLIENT.CODE))
df
# CLIENT.CODE PRODUCT SALES
#1 Groupe B 5
#2 AA3 B 5
#3 BB4 B 5
#4 Groupe B 5
答案 1 :(得分:0)
为什么不使用gsub
而忘记列表?这样,您可以在一行中捕获结果,而无需创建client_code
。
> dat
## CLIENT.CODE PRODUCT SALES
##1 AA1 B 5
##2 AA3 B 5
##3 BB4 B 5
##4 AC87 B 5
> dat$CLIENT.CODE <- gsub("(AA1)|(AC87)", "Groupe", dat$CLIENT.CODE)
> dat
## CLIENT.CODE PRODUCT SALES
##1 Groupe B 5
##2 AA3 B 5
##3 BB4 B 5
##4 Groupe B 5