R语言数据处理(一)

我这有两个表:dim_match和dim_item,前者表示为用户购买的商品集合,后者表示商品的类别属性。
表dim_match:coll_id表示用户id,这里只有两个用户,i1-i3表示商品的id;

coll_idi1i2i3
100200A00B
200A00C

表dim_item: item_id表示用户id,cat_id表示商品类目;

item_idcat_id
001N1
002N2
00AA1
00BA1
00CA2

现在想通过dim_item表对dim_match表进行操作,把每个用户购买的商品id替换为商品类目cat_id,即形成这样的结果:

coll_idi1i2i3
1N2A1A1
2A1A2

代码如下:

coll_id= c(1,2)
i1 = c(‘002’,’00A’)
i2 = c(‘00A’,’00C’)
i3 = c(‘00B’,”)
dim_match<-data.frame(coll_id,i1,i2,i3)
item_id=c(‘001’,’002’,’00A’,’00B’,’00C’)
cat_id=c(‘N1’,’N2’,’A1’,’A1’,’A2’)
dim_item<-data.frame(item_id,cat_id)

dim_match
coll_id i1 i2 i3
1 1 002 00A 00B
2 2 00A 00C
dim_item
item_id cat_id
1 001 N1
2 002 N2
3 00A A1
4 00B A1
5 00C A2

x<-transform(dim_match,i1=dim_item[match(i1, dim_item[,1]),2],i2=dim_item[match(i2, dim_item[,1]),2],i3=dim_item[match(i3, dim_item[,1]),2])
x
coll_id i1 i2 i3
1 1 N2 A1 A1
2 2 A1 A2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值