Я пытаюсь выполнить операцию в R без сбоев. Я приведу вам воспроизводимый пример. У меня есть X:
X <- data.frame(V1 = c("chr1", "chr1", "chr1", "chr1", "chr1"),
Start = c(0, 1001, 3002, 4059, 6581),
Stop = c(1000, 3001, 4058, 6580, 7002),
A = c(10, 4, 5, 6, 9),
B = c(923, 39, 5, 9, 93),
C = c(239, 2, 13, 4, 5))
И я хочу выполнить эту операцию:
for (row in 1:nrow(X)){
X$A <- (X$A / (X[row, "Stop"] - X[row, "Start"])) * mean(X$Stop - X$Start)
X$B <- (X$B / (X[row, "Stop"] - X[row, "Start"])) * mean(X$Stop - X$Start)
X$C <- (X$C / (X[row, "Stop"] - X[row, "Start"])) * mean(X$Stop - X$Start)
}
Моя проблема возникает, когда мой документ намного больше (например, 2.000.000 строк). Есть ли способ сделать эту операцию быстрее в таком большом data.frame?