Ich versuche, eine Funktion auf eine Gruppe von Spalten in einer großen data.table anzuwenden, ohne auf jede einzeln zu verweisen.R Datatable, wenden Sie eine Funktion auf eine Teilmenge von Spalten an
a <- data.table(
a=as.character(rnorm(5)),
b=as.character(rnorm(5)),
c=as.character(rnorm(5)),
d=as.character(rnorm(5))
)
b <- c('a','b','c','d')
mit MWE oben, dies:
a[,b=as.numeric(b),with=F]
funktioniert, aber dies:
a[,b[2:3]:=data.table(as.numeric(b[2:3])),with=F]
funktioniert nicht. Was ist der richtige Weg, um die as.numeric
Funktion nur auf die Spalten 2 und 3 von a
anzuwenden, ohne sie einzeln zu erwähnen.
(In dem aktuellen Datensatz gibt zig Spalten ist, so dass es unpraktisch wäre)
Dank
Wenn Sie die Gruppierung der "von" zu verwenden, hier ist die im Voraus aufgenommen werden müssen, in 'mysubset'? –
@TrevorAlexander - Nein, die By-Spalten befinden sich nicht in '.SD', sie existieren als einzelne Werte in der Umgebung, in der' .SD' erstellt wird. – mnel
Hi wie benutze ich das, wenn ich die Funktion auf alle Spalten außer 'b' anwenden möchte? Vielen Dank! – Christa