To może być błąd. W takim przypadku usuniemy to pytanie i zgłoszę jako błąd. Chciałbym, aby ktoś się przekonał, że nie robię czegoś niepoprawnie, więc nie marnuję czasu programisty.szybkie dołączanie danych.tabela (potencjalny błąd, sprawdzanie przed zgłoszeniem)
test = data.table(mo=1:100, b=100:1, key=c("mo", "b"))
mo = 1
test[J(mo)]
która zwraca całą test
data.table zamiast prawidłowego wyniku zwróconego przez
test[J(1)]
Wierzę, że błąd może być pochodzących z test
o tej samej nazwie kolumny jako tabeli, które jest połączone autor: mo
. Czy ktoś inny ma ten sam problem?
Nie mogę wyjaśnić zachowania, ale fwiw: 'foo = 1; test [J (foo)] 'przyniósł oczekiwane rezultaty. To samo dotyczy 'test [mo]' i 'mo = data.table (1); przetestuj [mo] '. – Justin
Również "identyczny (test [J (1)], test [J (mo <- 1)])" daje "TRUE". – Ryogi