2016-02-12 4 views
4

Я хочу использовать: = оператор из data.table без загрузки данных.table. Например, для следующей таблицы данных. Я хочу добавить еще один столбец с именем error.Как использовать `: =` из data.table, когда data.table не загружается

DT <- data.table::data.table(station = rep(1:1,52560), mod = rnorm(1*52560),obs = rnorm(1*52560)) 

Если я следующий все идет хорошо, однако, я озадачен, как он работал, не обращаясь к пакету data.table (data.table библиотека не загружается)? !!

DT[ , `:=`(error = mod - obs)] 

Как я могу переписать эту строку, используя data.table ::: :=? !!

+2

какова цель создания объекта таблицы данных, если вы не используете какой-либо из его особенностей – rawr

+2

Если вы хотите включить все ссылки на data.table функции, вам нужно будет ' [.data.table' также. Но я согласен с rawr, просто загрузите пакет. –

+0

Не ': =' просто 'data.table :: set' в круговой форме? – thelatemail

ответ

1

Не уверен, что я правильно понимаю, но в отношении:

Я собираюсь использовать это в другом пакете, и предпочтительно я хочу, чтобы не загружать data.table. - новичок

Я импортирую пакет, у меня нет другого выбора, так как data.table не будет работать, если я не импортирую. Будет ли импорт только позаботиться об этом? - новичок

Да Импортируйте данные. Таблица, а не зависимо от нее из вашего пакета. Возможно, вы пробовали это, и это не сработало из-за этой общей проблемы. Смотрите решение здесь:

Using data.table package inside my own package

+0

У меня уже импортированы данные.table в мой пакет. Я знаю некоторые команды, такие как as.data.table Мне нужно использовать data.table :: as.data.table, но некоторые другие команды, такие как DT [, ': =' (error = mod-obs)], это будет работать автоматически без меня, указывая, что это из пакета data.table. Это то, что я озадачен, почему это происходит? – newbie

+0

«import data.table» - слишком неточная формулировка с учетом детали связанного вопроса. У вас нет префикса в data.table :: as.data.table. Я не следую тому, что вы просите. Почему что происходит? Подозреваемый английский не является вашим первым языком. Пожалуйста, подождите 2 часа, чтобы прочитать https://github.com/Rdatatable/data.table/wiki/Support и _all_ его ссылки и подтвердить, что вы это сделали. –

Смежные вопросы