Sto provando ad applicare una funzione a un gruppo di colonne in un data.table di grandi dimensioni senza fare riferimento a ciascuna di esse individualmente.R Datatable, applica una funzione a un sottoinsieme di colonne
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')
con la MWE sopra, questo:
a[,b=as.numeric(b),with=F]
opere, ma questo:
a[,b[2:3]:=data.table(as.numeric(b[2:3])),with=F]
non funziona. Qual è il modo corretto di applicare la funzione as.numeric
alle sole colonne 2 e 3 di a
senza farvi riferimento singolarmente.
(Nei dati effettivi quivi sono decine di colonne in modo da rendere non praticabile)
Grazie
Se si desidera utilizzare il "con" raggruppando qui, non che devono essere inclusi in anticipo, in 'mysubset'? –
@TrevorAlexander - No, le colonne By non sono in '.SD', esistono come valori singoli nell'ambiente in cui' .SD' è stato creato. – mnel
Ciao come lo uso se voglio applicare la funzione su tutte le colonne ma 'b'? Grazie! – Christa