3
Betrachten wir die beiden folgenden data.tables:data.table Gruppe von Nicht-ID-Spalte in Tabelle verbunden
x <- data.table(id=c(1,2,3,4),cost=c(0.7,0.2,0.5,0.9))
y <- data.table(id=c(1,2,3,4),group=c(1,2,1,2))
setkey(x,id)
setkey(y,id)
Ich möchte Kosten normalisieren, indem der Mittelwert subtrahiert wird, die von der Gruppe in y gruppiert.
Mein Versuch ist wie folgt jedoch R einen Fehler gibt, dass es nicht ‚Gruppe‘ finden:
x[y,cost:=(cost-mean(cost)),by=.(group)]
Gibt es einen guten Weg, um diesen Vorgang auszuführen, ohne eine Spalte x hinzufügen?
Was Sie geschrieben haben (* sollte * funktionieren) (https://github.com/Rdatatable/data.table/issues/1688), es tut es einfach noch nicht. – eddi
Ich denke, jetzt könntest du 'x [y, group: = i.group] [, kosten: = cost - mean (cost), by = group]' machen. Oder vielleicht das 'x [y, kosten: = Kosten - ave (Kosten, i.group)]' –
Dank David, letzteres scheint gut für mich zu arbeiten. – user2506086