R数据表用法作为包中的参数

时间:2013-11-15 17:47:39

标签: r package data.table

使用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

1 个答案:

答案 0 :(得分:1)

要使包data.table知道我必须添加

depends: data.table

到包描述文件