我正在尝试优化使用数据框编写的现有代码。我发现,不使用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格式帮助我。 我被困在如何在数据表中使用列名列表。