Я проверял свои данные, и я понял, что вычитание было неправильным, и я вычислил его вручную, и я получил правильный результат.
Мой вопрос заключается в том, почему, когда я вычислял вычитание из data.frame, он дает число .5, а когда я вычислял его только по числам, он дает мне правильные результаты.
Я пыталсявоспроизвести проблему на другом компьютере, и вот игрушечный пример этой проблемы
a <- data.frame(matrix(nrow = 1, ncol = 4))
a[1,] <- c(101292229, 101298224, 101190466, 101195700)
colnames(a) <- c("start_I","end_I","start_II","end_II")
a$MI <- (a$start_I + a$end_I)/2
a$MII <- (a$start_II + a$end_II)/2
a
start_I end_I start_II end_II MI MII
1 101292229 101298224 101190466 101195700 101295226 101193083
a$MII-a$MI
[1] -102143.5
101193083-101295226
[1] -102143