2 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
FAQ 6.9:我創(chuàng)建了一個(gè)依賴于data.table的包。如何確保我的包是data.table-aware,以便從data.frame繼承?
要么i)包含data.table
在Depends:
DESCRIPTION文件的字段中,要么ii)包含data.table
在Imports:
DESCRIPTION文件的字段中和import(data.table)
NAMESPACE文件中。
進(jìn)一步的背景...在[.data.table
(和其他data.table
功能)的頂部,你會(huì)看到一個(gè)開(kāi)關(guān)取決于調(diào)用的結(jié)果cedta()
。這代表呼叫環(huán)境數(shù)據(jù)表感知。打字data.table:::cedta
顯示它是如何完成的。它依賴于具有命名空間的調(diào)用包,以及該命名空間Import'ing或Depend'ing on?data.table
。這是如何data.table
傳遞給非data.table-aware包(例如函數(shù)base
)和那些包可以使用絕對(duì)標(biāo)準(zhǔn)的[.data.frame
語(yǔ)法data.table
,幸福地不知道data.frame
?is()
a?data.table
。
這也是data.table
繼承不習(xí)慣與無(wú)命名空間包兼容的原因,以及為什么在用戶請(qǐng)求時(shí)我們不得不要求這些包的作者在其包中添加一個(gè)名稱空間以便兼容。令人高興的是,現(xiàn)在R為缺少一個(gè)(從v2.14.0開(kāi)始)的軟件包添加了一個(gè)默認(rèn)命名空間,這個(gè)問(wèn)題已經(jīng)消失了:
更改版本2.14.0?
*所有軟件包都必須具有命名空間,如果源中未提供,則會(huì)在安裝時(shí)創(chuàng)建一個(gè)。
- 2 回答
- 0 關(guān)注
- 632 瀏覽
添加回答
舉報(bào)