Я пытаюсь установить подстановку data.table на основе параметров l
(номер строки) и cn
(номер столбца), которые сами являются объектами. Подмножество на основе l
, кажется, работает. Но подмножество cn
(или get(cn)
) никогда не работает.
Например:
> dt <- iris %>% data.table()
>
> #Subseting (works)
> dt[10,3]
Petal.Length
1: 1.5
>
> #Subseting by exteral parameter (object)
> cn <- 3 # Petal.Length
> l <- 10
> dt[l,3] #works
Petal.Length
1: 1.5
> dt[10,cn]
Error in `[.data.table`(dt, 10, cn) :
j (the 2nd argument inside [...]) is a single symbol but column name 'cn' is not found. Perhaps you intended DT[, ..c]. This difference to data.frame is deliberate and explained in FAQ 1.1.
> dt[l,cn]
Error in `[.data.table`(dt, l, cn) :
j (the 2nd argument inside [...]) is a single symbol but column name 'cn' is not found. Perhaps you intended DT[, ..c]. This difference to data.frame is deliberate and explained in FAQ 1.1.
> dt[l,get(cn)]
Error in get(cn) : invalid first argument
Есть ли способ подмножества номера столбца, поступающего от внешнего объекта?