2016-02-12 58 views
4

我想在不加載data.table的情況下使用:= operator from data.table。例如,對於下面的data.table,我想添加另一個名爲error的列。如何在data.table未加載時使用`:=`from 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

是什麼,如果你如果要包括到data.table功能的所有引用不使用任何功能 – rawr

+2

創建數據表對象的目的,你需要用' [.data.table'也是。但我同意rawr,只是加載包。 –

+0

迂迴時尚不是':='只是'data.table :: set'嗎? – thelatemail

回答

1

不知道我理解正確的,但對於:

我會在另一個包使用此,最好不是我想要加載data.table。 - 新手

我正在導入包,我沒有其他選擇,因爲如果我不導入data.table將無法正常工作。單獨進口會照顧這個嗎? - 新手

是導入data.table而不是從你的包中取決於它。您可能已經嘗試過,並且因爲這個常見問題而無法工作。在這裏看到的解決方案:

Using data.table package inside my own package

+0

我已經將data.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_其鏈接,並確認您已完成此操作。 –