Ho difficoltà ad applicare una funzione a ogni membro di un data.table. Ecco un esempio semplificato:Applicare la funzione strptime a ogni membro di un data.table
dt <- data.table(a= c("30JAN14:23:16:00","23MAY12:02:00:00"),
b=c("03AUG09:00:00:00","13JUN12:02:00:00"),
c=c("31JAN14:15:19:00","23MAY12:00:00:00"))
strptime(dt[1,1,with=FALSE], "%d%B%y:%H:%M:%S")
rendimenti "2014-01-30 23:16:00 PST"
Ma quando tento di applicarla in tutto il data.table non ottengo quello che sto cercando e ricevere messaggi accusatorie.
cols <- c("a","b","c")
dt[, (cols):=sapply(.SD, function(x) strptime(x, "%d%B%y:%H:%M:%S")),.SDcols=cols]
I tuoi problemi non erano con la sintassi data.table ma piuttosto con la scelta della funzione da applicare. –