2016-04-22 5 views
0

Zuerst haben wir eine Transaktionsdaten, können wir den eingebauten Datensatz verwenden.Ersetzen Sie eine Transaktion Datentabelle mit Artikelnummer aus einer anderen Tabelle mit R

require(arules) 

## Can use built-in example dataset 
require(datasets) 
data(Groceries) 

groceries <- as ("transactions") # convert to 'transactions' class 

summary(groceries) 

Und der Ausgang ist:

most frequent items: 
    whole milk other vegetables  rolls/buns    soda   yogurt   (Other) 
     2513    1903    1809    1715    1372   34055 

Aber dann haben wir eine weitere Datentabelle, die wir Daten für die Kennzeichnung verwenden möchten:

itemnum <- c(1,2,3,4,5) 
ProductName_ <- factor(c("whole milk", "other vegetables", "rolls/buns", "soda", "yogurt")) 
ProductNames <- data.frame(itemnum, ProductName_) 

Wie kann ich die Produktbeschreibung ersetzen auf die erste Tabelle mit der Itemnummer von der Sekunde? So

wenn ich laufe:

summary(groceries) 

Die Ausgabe lautet:

most frequent items: 
    1  2  3  4  5  (Other) 
    2513 1903 1809 1715 1372   34055 
+0

Willkommen bei Stackoverflow. Bitte lies [wie stelle ich eine gute Frage] (http://stackoverflow.com/help/how-to-ask), [Wie erstelle ich einen MCVE] (http://stackoverflow.com/help/mcve) als sowie [wie man ein minimales reproduzierbares Beispiel in R zur Verfügung stellt] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example#answer-5963610). Dann bearbeite und verbessere deine Frage entsprechend. Dh, stellen Sie die benötigten Pakete bereit (zB 'library (arules)'), Eingabedaten (zB das Ergebnis von 'dput (groctrans)', die erwartete Ausgabe, welche Codezeilen Sie ausprobiert haben und was sie nicht konnten. – lukeA

+0

Bearbeitet, danke Luke. –

Antwort

0

Sie die Daten selbst vor dem Aufruf ändern summary

library(arules) 
library(datasets) 
data(Groceries) 
summary(Groceries) 
# transactions as itemMatrix in sparse format with 
# 9835 rows (elements/itemsets/transactions) and 
# 169 columns (items) and a density of 0.02609146 
# 
# most frequent items: 
#  whole milk other vegetables  rolls/buns    soda   yogurt 
# 2513    1903    1809    1715    1372 
# (Other) 
# 34055 
# 
# element (itemset/transaction) length distribution: 
#  sizes 
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
# 2159 1643 1299 1005 855 645 545 438 350 246 182 117 78 77 55 46 29 14 14 
# 20 21 22 23 24 26 27 28 29 32 
# 9 11 4 6 1 1 1 1 3 1 
# 
# Min. 1st Qu. Median Mean 3rd Qu. Max. 
# 1.000 2.000 3.000 4.409 6.000 32.000 
# 
# includes extended item information - examples: 
#  labels level2   level1 
# 1 frankfurter sausage meet and sausage 
# 2  sausage sausage meet and sausage 
# 3 liver loaf sausage meet and sausage 


itemnum <- c(1,2,3,4,5) 
ProductName_ <- factor(c("whole milk", "other vegetables", "rolls/buns", "soda", "yogurt")) 
ProductNames <- data.frame(itemnum, ProductName_) 

#change values in [email protected]$labels check out plyr::mapvalues as well 
[email protected]$labels <- ProductNames$itemnum[match([email protected]$labels,ProductNames$ProductName_)] 
summary(Groceries) 
# transactions as itemMatrix in sparse format with 
# 9835 rows (elements/itemsets/transactions) and 
# 169 columns (items) and a density of 0.02609146 
# 
# most frequent items: 
#  1  2  3  4  5 (Other) 
# 2513 1903 1809 1715 1372 34055 
# 
# element (itemset/transaction) length distribution: 
#  sizes 
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
# 2159 1643 1299 1005 855 645 545 438 350 246 182 117 78 77 55 46 29 14 14 
# 20 21 22 23 24 26 27 28 29 32 
# 9 11 4 6 1 1 1 1 3 1 
# 
# Min. 1st Qu. Median Mean 3rd Qu. Max. 
# 1.000 2.000 3.000 4.409 6.000 32.000 
# 
# includes extended item information - examples: 
#  labels level2   level1 
# 1  NA sausage meet and sausage 
# 2  NA sausage meet and sausage 
# 3  NA sausage meet and sausage