<div dir="ltr">I prefer data.tables for all the code processing I do.  But others on my team using my functions aren't comfortable with data.tables, so most of the libraries I write end with<br><br><div> return(data.frame(DT))</div>

<div><br></div><div>Is there any copying or other overhead happening there? Since it inherits from data.frame, I think the answer is no.</div><div><br></div><div>Now, if I have a function that does such a return, but I wrap that itself in a data.table call:</div>

<div><br></div><div>data.table(func_that_returns_df())</div><div><br></div><div>Is there any inefficiency there?  Is there a difference between data.table() and as.data.table() here?</div></div>