好的,这是我第一次尝试编写一个R软件包,但现在卡住了。下面是我创建软件包的方式:
package.skeleton("pkg",code_files=some.filenames)
roxygenize("okg")
我正在使用roxygen2,并在我的"pkg-package.R"文件中使用以下导入:
@import data.table zoo lubridate
接下来我从终端运行:
R CMD build pkg
R CMD check pkg
R CMD install pkg
在检查阶段,我收到以下警告:
**为惰性加载准备软件包
警告:在加载“lubridate”时替换以前的导入‘hour’
警告:在加载“lubridate”时替换以前的导入‘mday’
警告:在加载“lubridate”时替换以前的导入‘month’
警告:在加载“lubridate”时替换以前的导入‘wday’
警告:在加载“lubridate”时替换以前的导入‘week’
警告:在加载“lubridate”时替换以前的导入‘yday’
警告:在加载“lubridate”时替换以前的导入‘year’
**帮助
* 安装帮助索引
**正在构建软件包索引...
**测试已安装的软件包是否可以加载
警告消息:
1: 在加载“lubridate”时替换以前的导入‘hour’
2: 在加载“lubridate”时替换以前的导入‘mday’
3: 在加载“lubridate”时替换以前的导入‘month’
4: 在加载“lubridate”时替换以前的导入‘wday’
5: 在加载“lubridate”时替换以前的导入‘week’
6: 在加载“lubridate”时替换以前的导入‘yday’
7: 在加载“lubridate”时替换以前的导入‘year’
我真的不知道如何理解这些警告,但它们似乎是命名空间中正在覆盖某些内容的典型警告。无论如何,我能够安装该软件包,但是在尝试使用它时发生了以下情况:
library(pkg)
覆盖了POSIXt、Date和difftime的+和-方法
警告消息:
1: 在加载“lubridate”时替换以前的导入‘hour’
2: 在加载“lubridate”时替换以前的导入‘mday’
3: 在加载“lubridate”时替换以前的导入‘month’
4: 在加载“lubridate”时替换以前的导入‘wday’
5: 在加载“lubridate”时替换以前的导入‘week’
6: 在加载“lubridate”时替换以前的导入‘yday’
7: 在加载“lubridate”时替换以前的导入‘year’
d <- my.function(arg1, arg2)
错误:MATCH(x,x)中找不到函数“MATCH”
使用traceback(),我发现这是在调用merge.zoo()时生成的。因此,我尝试手动在我的R会话中加载zoo,然后,函数可以正确运行而不会出现错误消息。
我尝试手动更改“pkg-package.R”文件以及NAMESPACE中的导入排序。基于我在其他地方找到的内容,我没有将任何Imports或Depends添加到DESCRIPTION中。求助?
DESCRIPTION
中的Depends
。 - mathematical.coffee