如何在不使用apply()的情况下将max函数应用于Data.Table中的列列表(给定列名列表)?

时间:2019-07-09 05:19:23

标签: r data.table

我正在尝试优化使用数据框编写的现有代码。我发现,不使用apply函数,data.table的执行速度比它快。这是我关注的链接:https://jangorecki.github.io/blog/2015-12-11/Solve-common-R-problems-efficiently-with-data.table.html

旧代码:

apply(DF0[,select_cols[grep("_MD",end_char)]],1,max,na.rm=TRUE)

DF0->数据框
select_cols[grep("_MD",end_char)]->应用于最大功能的列名列表。

上面的代码做什么:它在每一行的不同列的值中找到最大值(水平查找最大值)

我想以这种方式使用Datatable。

dt[, .(sum(x), .N), grp] 

按照上面的链接并在“ R分组功能:sapply vs. lapply vs. apply。vs. tapply vs. by vs.aggregate”部分中提到。

这是最快的使用方式。

请以Data.table格式帮助我。 我被困在如何在数据表中使用列名列表。

0 个答案:

没有答案