Ich habe einen Datenrahmen, der eine customerid und eine Liste enthält. Ich möchte diese Liste für den gleichen Kunden zusammenführen.ddply zum Erstellen der Union von Listen
library(plyr)
subsets <- list(c("a", "d", "e"), c("a", "b", "c", "e"))
customerids <- c(1,1)
transactions <- data.frame(customerid = customerids,subset =I(subsets))
> transactions
customerid subset
1 1 a, d, e
2 1 a, b, c, e
Wenn ich die Untergruppen mit ddply zusammenführen möchten, erhalte ich eine Folge erweitert
> ddply(transactions, .(customerid), summarise, subset=Reduce(union,subset))
customerid subset
1 1 a
2 1 d
3 1 e
4 1 b
5 1 c
während ich alle Ergebnisse in 1 Reihe erwartet hätte.
Der Schritt der Datenrahmen zu schaffen wirft einen Fehler. Sie haben das wahrscheinlich anders gemacht und sollten 'dput (transactions) 'posten. Ich glaube nicht, dass Datenfelder Listenobjekte sehr gut enthalten. Es gibt eine bekannte Schwierigkeit mit POSIXlt-Objekten in Datenrahmen. –
in der Tat kopierte ich eine falsche Eingabe (kein I-Operator), das ist behoben. – nicolas
+1 für das 'I', das das Listenelement im data.frame erstellt. – agstudy