我正在尝试在两个表之间进行复杂的非equi连接.我在最后一次使用R2016的演示中受到启发(https://channel9.msdn.com/events/useR-international-R-User-conference/useR2016/Efficient-in-memory-non-equi-joins-using-datatable这使我相信它将是data.table的合适任务.我的表1看起来像:
library(data.table)
sp <- c("SAB","SAB","SAB","SAB","EPN","EPN","BOP","BOP","BOP","BOP","BOP","PET","PET","PET")
dbh <- c(10,12,16,22,12,16,10,12,14,20,26,12,16,18)
dt1 <- data.table(sp,dbh)
dt1
sp dbh
1: SAB 10
2: SAB 12
3: SAB 16
4: SAB 22
5: EPN 12
6: EPN 16
7: BOP 10
8: BOP 12
9: BOP 14
10: BOP 20
11: BOP 26
12: PET 12
13: PET 16
14: PET 18
Run Code Online (Sandbox Code Playgroud)
这是dbh的树木列表.我的第二个表(下面)给出了一个通用表,它为每个树种提供了一系列dbh来对大小类或树进行分类:
gr_sp <- c("RES","RES","RES","RES","RES","RES", "DEC", "DEC", "DEC", "DEC", "DEC", "DEC")
sp <- c("SAB","SAB", "SAB", "EPN", "EPN", "EPN", "BOP", "BOP", "BOP", "PET", "PET", …Run Code Online (Sandbox Code Playgroud) 我有这个数据框:
> head(merged.tables)
Store DayOfWeek Date Sales Customers Open Promo StateHoliday SchoolHoliday StoreType
1 1 5 2015-07-31 5263 555 1 1 0 1 c
2 1 6 2013-01-12 4952 646 1 0 0 0 c
3 1 5 2014-01-03 4190 552 1 0 0 1 c
4 1 3 2014-12-03 6454 695 1 1 0 0 c
5 1 3 2013-11-13 3310 464 1 0 0 0 c
6 1 7 2013-10-27 0 0 0 0 0 0 c
Assortment …Run Code Online (Sandbox Code Playgroud) 我已经在 R 中完成了一个包,并data.table在我的函数中包含了一些代码:
ntalls[,.(NoMeas=sum(numer)),by=.(lance,esp,sexo,cate)]
Run Code Online (Sandbox Code Playgroud)
ntalls是 a data.table,并且代码data.table在工作区中被调用时可以作为脚本正常工作,但是当我在包内运行该函数时,我得到:
.(NoMeas = sum(numer)) 中的错误:找不到函数“。”
data.table包含在库的描述中,甚至require(data.table)在函数内部加载。该包是在 Rstudio 中使用 R 3.5.0 构建和编译的
如何data.table::在函数内部调用?