Ich versuche, eine Assoziationsregel für eine andere Eingaben und drucken Sie die Ausgabe in separaten CSV-Dateien. Ich möchte die Modelleingabe von einem separaten Datenrahmen nachschlagen und den Job wiederholen, bis er den letzten Wert erreicht hat.Loop von separaten Datenrahmen zu schreiben. CSV in R
Datenrahmen CTVU
MMGID_5 EMAIL
2341 [email protected]
50 [email protected]
311 [email protected]
2341 [email protected]
2387 [email protected]
57 [email protected]
2329 [email protected]
2026 [email protected]
650 [email protected]
2369 [email protected]
Hier ist das Modell
# Loading packages
library(arules)
library(arulesViz)
# Reading in data
CTVU <- read.csv("CTVU.csv", header = TRUE)
CTVU <- unique(CTVU[ , c(2,5) ])
CTVU <- as(split(CTVU[,"MMG5_ID"], CTVU[,"EMAIL"]), "transactions")
# model
rules<-sort(rules, by="confidence", decreasing=TRUE)
rules <- apriori(CTVU, parameter = list(supp = 0.001, conf = 0.8,maxlen=3))
In anstatt manuell 2341
in appearance = list(default="rhs",lhs="2341")
deklarieren und den Namen der Datei jedes Mal erklärt eine neue neue Variable ändert, würde ich mag es, eine Schleife zu benutzen, um diese Prozesse x-mal auszuführen.
rules<-apriori(data=CTVU, parameter=list(supp=0.001,conf = 0.01,minlen=2),
appearance = list(default="rhs",lhs="2341"),
control = list(verbose=F))
rules<-sort(rules, decreasing=TRUE,by="confidence")
inspect(rules[1:5])
# create rules into data.frame and write as CSV file
CTVR <- as(rules, "data.frame")
write.csv(CTVR, file = "2341_Basket.csv", row.names = FALSE)
Dataframe MMGID
aussehen Schleife oben aus:
MMGID
2341
50
311
Ist das möglich?
Wo 289 kam aus? –
@ RomanLuštrik '289' ist ein Wert im data.frame' MMGID_5' (Entschuldigung, ich habe das nicht sehr deutlich gemacht - habe nur das Skript aktualisiert). Es ist der Wert, den ich durch eine Schleife ersetzen möchte. – Davis