我需要制作一个依赖于data.table包的R包。然而,如果我要在该包中创建下一个函数:
randomdt <- function(){
dt <- data.table(random = rnorm(10))
dt[dt$random > 0]
}
[函数将使用data.frame方法而不是data.table方法,因此出现错误。
Error in `[.data.frame`(x, i) : undefined columns selected
通常这可以通过使用get('[.data.table')
或类似的方法来解决(package::function
是最简单的),但似乎并不起作用。毕竟,[
是一个原始函数,我不知道如何使用它的方法。
那么,我该如何从我的软件包中调用data.table [
函数呢?
data.table
已经被加载。 - JaapDescription
文件中添加Depends: data.table
。 - Soheilxlsx
,它依赖于rJava
和xlsxjars
。每次运行library(xlsx)
或require(xlsx)
时,你会发现R
也会附加这些软件包。 - MichaelChiricoDepends:
的方法。对我来说,这似乎是最简单的解决方案。 - alexwhitworthlibrary(data.table)
一样。由于它加载在搜索路径中,因此data.table命名空间也将在其下面的所有环境中可用。只要搜索路径有正确的顺序,这种策略就会奏效。 - Usobi