好吧,第一次尝试写一个R包,我被卡住了.这是我创建包的方式:
package.skeleton("pkg",code_files=some.filenames)
roxygenize("okg")
Run Code Online (Sandbox Code Playgroud)
我正在使用roxygen2并在我的"pkg-package.R"文件中输入以下内容:
@import data.table zoo lubridate
Run Code Online (Sandbox Code Playgroud)
从终端,我然后运行:
R CMD build pkg
R CMD check pkg
R CMD install pkg
Run Code Online (Sandbox Code Playgroud)
在检查阶段,我收到以下警告:
**为延迟加载准备包
警告:在加载'lubridate'时替换先前导入'hour'
警告:在加载'lubridate'时
替换先前导入'mday'
警告:在加载'lubridate'时替换先前的导入'月' 警告:替换之前的加载'lubridate'时导入'wday'
警告:加载'lubridate'时替换上一个导入'周'
警告:加载'lubridate'时替换上一个导入'yday'
警告:加载'lubridate'时替换上一个导入'year'
**帮助
*安装帮助索引
**构建软件包索引...
**测试是否可以加载已安装的软件包
警告消息:
1:在加载'lubridate'时替换先前导入'小时'
2:在加载'lubridate时替换先前导入'mday' '
3:在加载'lubridate'时替换先前导入'月'
4:在加载'lubridate'时替换先前导入'wday'5:在加载'lubridate'时
替换先前的导入'周'
6:在加载时替换先前导入'yday' "lubrid 吃''
7 ' :加载'lubridate'时替换上一个导入'年'
我真的不确定如何制作这些,但它们似乎是覆盖命名空间中的东西的典型警告.在任何情况下,我都可以安装软件包,但是当我尝试使用它时会发生什么:
library(pkg)
覆盖POSIXt,Date和difftime的+和 - 方法
警告消息:
1:在加载'lubridate'时
替换先前导入'hour'2:在加载'lubridate'时替换先前导入'mday'3
:替换先前导入' '加载'lubridate'时的'月':加载'lubridate'时
替换先前导入'wday'5:加载'lubridate'时
替换上一个导入'周'
6:加载'lubridate'时替换上一个导入'yday'7
:替换之前的加载'lubridate'时导入'年'
d < - my.function(arg1,arg2)
MATCH中的错误(x,x):找不到函数"MATCH"
使用traceback(),我发现这是在调用merge.zoo()期间生成的.所以我尝试在我的R会话期间手动加载动物园,然后功能正常,没有错误消息.
我已经尝试在"pkg-package.R"文件和NAMESPACE中手动更改导入的顺序.根据我在其他地方找到的东西,我没有添加任何Imports或Depends来描述.救命?
我正在尝试使用COPY将CSV文件导入PostgreSQL.当它遇到有空值的行时会窒息,例如下面的第二行:
JAN-01-2001,1,2,3,4,5
JAN-02-2001,6,7 ,,,
我已经尝试过这个COPY语句,以及使用NULL和QUOTE的变体,并没有发现任何有用的东西.
COPY数据来自'data.dat'使用DELIMITERS','CSV;
有什么建议?数据文件是一个庞大的22GB平面文件,所以我想避免直接编辑它.