ich einen Datenrahmen (DF) mit 3 Spalten: ID-Nummer, die Kategorie und Marke:R: Finden Sie zwei Strings am häufigsten zusammen pro Kategorie
ID Category Brand
00129 Bits B89
00129 Bits B87
00129 Bits B87
00129 Logs B32
00129 Logs B27
00129 Logs B27
00130 Bits B12
00130 Bits B14
00130 Bits B14
00131 Logs B32
00131 Logs B27
00131 Logs B32
00132 Bits B77
00132 Bits B89
00132 Bits B89
Ich habe 200 verschiedene Kategorien und 2000 verschiedene Marken .
Ich will die beiden Marken pro Kategorie zusammen am häufigsten von ID-Nummern gekauft finden:
Category Brand
Bits B89,B87
Logs B32,B27
oder:
#$Bits
#[1] "B89" "B87"
#$Logs
#[1] "B32" "B27"
Die einzige Art, wie ich denken konnte, war den Datenrahmen zu überarbeiten so aussehen, um sicherzustellen, dass es mit Bestätigung der verschiedenen ID-Nummern berechnet wird:
Und dann wieder die Spalten, die mit Werten größer als 0 aufgefüllt werden, wenn eine bestimmte Spalte mit Werten größer als 0.
list1 =(setNames(object = lapply(1:NCOL(df), function(i)
unique(colnames(df)[-i][which(as.matrix(df[which(df[,i] > 0),i])>0,
arr.ind = TRUE)[,2]])),
nm = colnames(df)))
bevölkert ist aber dann die Kategorie I opfern, was ich brauche. Irgendwelche Gedanken darüber, wie man das anpackt?