Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 依赖于另一个依赖于data.table的包的包中出现错误_R_Dependencies_Data.table_R Package - Fatal编程技术网

R 依赖于另一个依赖于data.table的包的包中出现错误

R 依赖于另一个依赖于data.table的包的包中出现错误,r,dependencies,data.table,r-package,R,Dependencies,Data.table,R Package,我的行为对我来说毫无意义,有人能解释一下下面的行为吗 我已经创建了两个包A、B A依赖于数据。表并定义函数readFile useFile <- function(path){ DT <- readFile(path) print(class(DT)) return(DT[x == 'a']) } B依赖于A并定义函数useFile useFile <- function(path){ DT <- readFile(path) print(class

我的行为对我来说毫无意义,有人能解释一下下面的行为吗

我已经创建了两个包
A、B

A
依赖于
数据。表
并定义函数
readFile

useFile <- function(path){
  DT <- readFile(path)
  print(class(DT))
  return(DT[x == 'a'])
}
B
依赖于
A
并定义函数
useFile

useFile <- function(path){
  DT <- readFile(path)
  print(class(DT))
  return(DT[x == 'a'])
}
我从
print
语句中看到DT是一个
data.table,但它崩溃了,说
未找到对象x
(当然data.table有一个x列)

现在,当我也使
B
依赖于
数据时。table
工作正常

如果有人能解释一下这种行为,我会假设当调用
library(A)
时,所有的
data.table
ness都应该在那里

PS:我知道我应该提供可复制的,但我们这里有两个包,如果没有明显的答案,我会在线上传两个包
依赖于
说明中的:data.table
到所有使用
数据的包。table
即使他们使用的其他包已经使用
数据。table
当然,添加
依赖于
DESCRIPTION
中的:data.table
到所有使用
数据的包。table
即使他们使用的其他包已经使用了
数据。table

包数据。table通常应位于描述文件的导入中,并导入到第一个包的命名空间中。然后,您应该将第一个包导入到第二个包中,或者也在其中导入data.table。如果我是最新的,通常不再推荐使用与导入包不同的包。请参阅“`[.data.frame``(x,I,j)中的错误状态
error:object'x not found
@mnel:不是此消息,但这是pb是的,尽管我使用Rstudio和roxygen2来为我做所有事情。我想data.table需要在导入中,在我的情况下?最重要的是,您必须将data.table导入包的命名空间。我认为您可以间接地这样做,即将data.table的命名空间导入到package1的命名空间中命名空间,然后将package1的命名空间导入package2的命名空间,但我从未尝试过。使用roxygen2,您只需执行导入data.table
。可能的Package data.table通常应位于描述文件的导入中,并导入到第一个包的命名空间中。然后,您应该将第一个包导入到您的第二个包或导入data.table也在那里。如果我是最新的,通常不再建议依赖于与导入它们相对应的包。请参阅“`[.data.frame`”(x,I,j)中的错误状态
错误:object'x not found
@mnel:不是此消息,但这是pb是的,尽管我使用Rstudio和roxygen2来为我做所有事情。我想data.table需要在导入中,在我的情况下?最重要的是,您必须将data.table导入包的命名空间。我认为您可以间接地这样做,即将data.table的命名空间导入到package1的命名空间中名称空间,然后将package1的名称空间打包到package2的名称空间,但我从未尝试过。使用roxygen2,您只需执行导入数据的
@import data.table
。可能