【发布时间】:2018-07-15 19:47:10
【问题描述】:
在尝试查找拆分列表的最大值时,我遇到了严重的性能问题。
有没有办法优化下面的代码:
# Generate data for this MWE
x <- matrix(runif(900 * 9000), nrow = 900, ncol = 9000)
y <- rep(1:100, each = 9)
my_data <- cbind(y, x)
my_data <- data.frame(my_data)
# This is the critical part I would like to optimize
my_data_split <- split(my_data, y)
max_values <- lapply(my_data_split, function(x) x[which.max(x[ , 50]), ])
我想获取给定列在给定组中达到最大值的行(从代码中应该更容易理解)。
我知道拆分成列表可能是性能缓慢的原因,但我不知道如何规避它。
【问题讨论】:
标签: r performance list split lapply