ich eine Datentabelle haben, die ein Ergebnis von einer zwischen zwei anderen Tabellen verknüpfen (a, b)R: Gruppe Liste der Spaltennamen
joinedTable = a[b, on = columnName]
ich die Frequenz der Zeilen Kombinationen auf Basis con zählen möchten Spaltennamen, die variieren können (alle, einer irgendwo in der Mitte). Das Problem ist, es funktioniert fest einprogrammiert werden, aber nicht mit einer Variablen:
joinedTable[, list(freq =.N), by = list(COLUMN_A, COLUMN_B, ...)] # works
# what's next doesn't
columns = names(joinedTable)[-which(names(joinedTable) %in% c('COLUMN_F', 'COLUMN_G',...))]
joinedTable[, list(freq =.N), by = as.list(columns)] # doesn't work
Wenn ich versuche, es zu tun dynamische ich diesen Fehler:
Error in `[.data.table`(joinedTable, , list(freq = .N), by = list(outColumns)) :
The items in the 'by' or 'keyby' list are length (13). Each must be same length as rows in x or number of rows returned by i (23).
Wie sollte es so sein, dass es funktioniert?
Diese Frage ist nicht off-topic. Ich frage ganz klar, wie man ein Programmierproblem lösen kann. – Leo
Hast du das Erste-Schritte-Wiki durchlaufen? https://github.com/Rdatatable/data.table/wiki/Getting-started – MichaelChirico