4

使用. data.table_ devtools当我在本地加载函数时,我的自定义函数(使用 data.table 功能)可以工作,但是当我在 github 上创建自定义包并从 github 安装包时,该函数不再工作。

加载所需的包:

require(PerformanceAnalytics)
if(!require(PerformanceAnalytics)) install.packages("PerformanceAnalytics");
require(PerformanceAnalytics)
require(data.table)
if(!require(data.table)) install.packages("data.table"); require(data.table)
require(devtools)
if(!require(devtools)) install.packages("devtools"); require(devtools)

创建一个虚拟数据集:

data(edhec)
EDHEC<-data.frame(date=index(edhec),coredata(edhec))
EDHEC<-melt(EDHEC,id.vars="date")
EDHEC<-data.table(EDHEC,key=c("variable","date"))

使用 devtools 从 github 安装我的包:

install_github("r_jfreels","jfreels"); require(jfreels)

运行我的功能:

test_date(EDHEC)

这给出了一个错误:“min(date)中的错误:参数的'type'(闭包)无效”

现在在本地创建函数:

test_date<-function(DF) {
  DT<-data.table(date=DF$date,variable=DF$variable,value=DF$value,key=c('variable','value'))
  DT[,list(start_date=min(date),end_date=max(date)),by=variable]
}

再次测试函数:

test_date(EDHEC)

这行得通。

这让我发疯,我不知道问题是什么。

4

1 回答 1

5

如果您添加Depends: data.table到您的说明文件中,它将“工作”。然而,你真的应该努力通过 R CMD 检查——现在,它离通过还差得很远。

于 2013-05-03T18:09:50.157 回答