使用data.table作为函数的参数时遇到问题。
如果我在脚本中定义函数我正在工作 - 请参阅fn_good。
如果我将函数(相同地)定义为包的一部分,我已经使它无法完全运行。似乎无法识别列名称。函数中的命令,例如'tables()'或x [1:5,1:2]可以正常工作。只是列名不能像在fn_good中那样使用。
我的包中的其他功能正常工作。
任何想法?
非常感谢R.version 3.0.0
cd<-data.table(PY=1992:2001,DV=1:10,IN=2000)
fn_good<-function(x) {x[1:5, list(PY, DV)]}
fn_good(x=cd)
PY DV
1: 1992 1
2: 1993 2
3: 1994 3
4: 1995 4
5: 1996 5
fn_in_Package_Bad
function (x)
{
x[1:5, list(PY, DV)] #identical to above
}
<environment: namespace:RBasicChainLadder>
fn_in_Package_Bad(x=cd)
Error in `[.data.frame`(x, i, j) : object 'PY' not found
答案 0 :(得分:1)
要使包data.table知道我必须添加
depends: data.table
到包描述文件