给定 > 900,000 行的数据集,其中length(duplicates) = >300,000,以下循环在 R 中运行需要大约 4 小时,这是不可接受的。
for(i in duplicates) {
couple_table <- filter(data, pnr == i) # filter patients
min_date <- min(couple_table$date) # determine date of first operation
max_date <- max(couple_table$date) # determine date of second operation
data$first[data$pnr == i & data$date == min_date] <- 1 # assign 1 to column first
data$second[data$pnr == i & data$date == max_date] <- 1 # assign 1 to column second
}
Run Code Online (Sandbox Code Playgroud)
如何调整此代码以在 R 中运行得更快?我看过*apply但我一点也不熟悉,有什么想法吗?
虚拟数据: …