Próbuję dokonać podzbioru zbioru danych, wybierając niektóre kolumny z tabeli data.table. Jednak mój kod nie działa z niektórymi odmianami.Podział kolumn z data.table w R
Oto próbka data.table
library(data.table)
DT <- data.table(ID = 1:50,
Capacity = sample(100:1000, size = 50, replace = F),
Code = sample(LETTERS[1:4], 50, replace = T),
State = rep(c("Alabama","Indiana","Texas","Nevada"), 50))
Oto kod podgrupa robocza:
DT[,1:2]
A oto kawałek kodu, który nie działa. Zauważ, że działa to z ramką danych, ale nie z tabelą data.table.
DT[,seq(1:2)]
muszę coś na wzór drugiego formatu, bo jestem podzbiorów oparty na wyjściu (grep) i to daje taki sam efekt jak w drugim formacie. Co robię nieprawidłowo?
Dzięki!
Używanie 'with = FALSE' powoduje, że drugi działa, ale nie wiem, dlaczego to nie działa. –
@RichScriven dzięki za wskazówkę! Używając tego, wykopałem głębiej za pomocą? Data.table. Ta linia wydaje się wskazywać, dlaczego. "Gdy dla = FALSE, j może być tylko wektorem nazw kolumn lub pozycji do wyboru (jak w data.frame).". – Naumz
@RichScriven patrz [odpowiedź poniżej] (http://stackoverflow.com/a/41781264/2761575) dlaczego ':' działa ale 'seq' nie – dww