R語言資料處理(一)

shuaishuai3409發表於2015-12-03

我這有兩個表:dim_match和dim_item,前者表示為使用者購買的商品集合,後者表示商品的類別屬性。
表dim_match:coll_id表示使用者id,這裡只有兩個使用者,i1-i3表示商品的id;

coll_id i1 i2 i3
1 002 00A 00B
2 00A 00C

表dim_item: item_id表示使用者id,cat_id表示商品類目;

item_id cat_id
001 N1
002 N2
00A A1
00B A1
00C A2

現在想通過dim_item表對dim_match表進行操作,把每個使用者購買的商品id替換為商品類目cat_id,即形成這樣的結果:

coll_id i1 i2 i3
1 N2 A1 A1
2 A1 A2

程式碼如下:

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

相關文章