R:data.table格式在用户定义的函数中不起作用

时间:2014-06-11 19:50:11

标签: r data.table user-defined-functions packaging

我有几个文件要读入R并格式化日期字段。我写了一个简单的函数,允许我重复这一步:

readTXT <- function(FILE, DATEFORM='%m/%d/%Y'){

    CLASS = c('character','character','numeric','character')

    DATA <- fread(FILE,sep="|",header=TRUE, stringsAsFactors=FALSE,colClasses=CLASS)

    DATA[,DATE= as.POSIXct(DATE, format=DATEFORM, tz="MST")]

    return(DATA)
}

其中:FILE是我正在读入R的txt文件。

当我单独运行每一行(而不是函数的一部分)时,代码可以工作。但是当我调用该函数时,我在日期格式步骤中得到错误:

"Error in `[.data.table`(DATA, , DATE = as.POSIXct(DATE, format = DATEFORM,  : 
unused argument (DATE= as.POSIXct(DATE, format = DATEFORM, tz = "MST"))"

我正在创建的这个函数是我为特定项目创建的内部包(INHOUSE)的一部分,INHOUSE包依赖于data.table(在包描述文件中定义)。

为什么它似乎没有认识到它是函数内部的data.table?

这是我的sessionInfo():

R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] INHOUSE_1.0 data.table_1.8.10       

loaded via a namespace (and not attached):
[1] tools_3.0.2

0 个答案:

没有答案