<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>All,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have been trying to integrate data.table into a package I produce and keep having problems with an “object not found” issue.<o:p></o:p></p><p class=MsoNormal>When I source the function, it works, but when it is put into a package it doesn’t work.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here’s a simple example giving the same results:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>dataTableTest1 <- function(n) {<o:p></o:p></p><p class=MsoNormal> my.dt <- data.table(rep(1:n, each=5), rnorm(5*n))<o:p></o:p></p><p class=MsoNormal> names(my.dt) <- c("ID", "SCORE") <o:p></o:p></p><p class=MsoNormal> my.dt<o:p></o:p></p><p class=MsoNormal> eval(parse(text="my.dt[,mean(SCORE), by=ID]"))<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>After embedding this into a package, in the man page for the function I run the test dataTableTest1(5):<o:p></o:p></p><p class=MsoNormal>Below are the results of the dataTableTest-Ex.Rout<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>R version 2.11.1 (2010-05-31)<o:p></o:p></p><p class=MsoNormal>Copyright (C) 2010 The R Foundation for Statistical Computing<o:p></o:p></p><p class=MsoNormal>ISBN 3-900051-07-0<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>R is free software and comes with ABSOLUTELY NO WARRANTY.<o:p></o:p></p><p class=MsoNormal>You are welcome to redistribute it under certain conditions.<o:p></o:p></p><p class=MsoNormal>Type 'license()' or 'licence()' for distribution details.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> Natural language support but running in an English locale<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>R is a collaborative project with many contributors.<o:p></o:p></p><p class=MsoNormal>Type 'contributors()' for more information and<o:p></o:p></p><p class=MsoNormal>'citation()' on how to cite R or R packages in publications.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Type 'demo()' for some demos, 'help()' for on-line help, or<o:p></o:p></p><p class=MsoNormal>'help.start()' for an HTML browser interface to help.<o:p></o:p></p><p class=MsoNormal>Type 'q()' to quit R.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> pkgname <- "dataTableTest"<o:p></o:p></p><p class=MsoNormal>> source(file.path(R.home("share"), "R", "examples-header.R"))<o:p></o:p></p><p class=MsoNormal>> options(warn = 1)<o:p></o:p></p><p class=MsoNormal>> library('dataTableTest')<o:p></o:p></p><p class=MsoNormal>Loading required package: data.table<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> assign(".oldSearch", search(), pos = 'CheckExEnv')<o:p></o:p></p><p class=MsoNormal>> cleanEx()<o:p></o:p></p><p class=MsoNormal>> nameEx("dataTableTest1")<o:p></o:p></p><p class=MsoNormal>> ### * dataTableTest1<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> flush(stderr()); flush(stdout())<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> ### Name: dataTableTest1<o:p></o:p></p><p class=MsoNormal>> ### Title: data.table test function<o:p></o:p></p><p class=MsoNormal>> ### Aliases: dataTableTest1<o:p></o:p></p><p class=MsoNormal>> ### Keywords: misc models<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> ### ** Examples<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> dataTableTest1(5)<o:p></o:p></p><p class=MsoNormal>Error in mean(SCORE) : object 'SCORE' not found<o:p></o:p></p><p class=MsoNormal>Calls: dataTableTest1 ... eval -> eval -> [ -> [.data.table -> [.data.frame -> mean<o:p></o:p></p><p class=MsoNormal>Execution halted<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Any help understanding why SCORE is found when the function is sourced but is not found when the function is embedded in the package would be greatly appreciated.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Best regards,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Damian<span style='color:navy'><o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>