dal mio semplice data.table, per esempio, in questo modo:errore "oggetto 'ansvals' non trovato" - cosa significa?
dt1 <- fread("
col1 col2 col3
AAA ab cd
BBB ef gh
BBB ij kl
CCC mn nm")
Sto creando nuova tabella, ad esempio, in questo modo:
dt1[,
.(col3, new=.N),
by=col1]
> col1 col3 new
>1: AAA cd 1
>2: BBB gh 2
>3: BBB kl 2
>4: CCC op 1
questo funziona bene quando indico i nomi delle colonne in modo esplicito . Ma quando li ho nelle variabili e cerco di usare with=F
, questo dà un errore:
colBy <- 'col1'
colShow <- 'col3'
dt1[,
.(colShow, 'new'=.N),
by=colBy,
with=F]
# Error in `[.data.table`(dt1, , .(colShow, new = .N), by = colBy, with = F) : object 'ansvals' not found
non ho trovato alcuna informazione su questo errore finora.
grazie per la spiegazione! In realtà significa che non c'è modo di usare 'by =' quando i nomi delle colonne sono memorizzati in variabili? –
@VasilyA Questo è certamente possibile, ma devi farlo nel modo corretto. Vedi [qui] (http://stackoverflow.com/questions/32940580/convert-some-column-classes-in-data-table/32942319#32942319) o [qui] (http://stackoverflow.com/questions/ 33772830/how-to-set-multiple-columns-and-selected-rows-in-data-table-to-value-from-other/33774525 # 33774525) per esempi. Potresti anche voler leggere la [guida introduttiva] (https://github.com/Rdatatable/data.table/wiki/Getting-started) – Jaap
beh, in quegli esempi 'by =' non è usato affatto, questo lo rende piuttosto diverso ... Leggerò di nuovo la guida alle operazioni preliminari e magari pubblicheremo una domanda separata che specifica di cosa esattamente ho bisogno. –