По сути, вы принимаете среднее значение логического значения - ИСТИНА или ЛОЖЬ. Среднее рассчитывает каждое значение FALSE как 0, а каждое значение TRUE - как 1. Таким образом, в строке 2 у вас есть два значения FALSE для среднего значения (0 + 0) / 2 = 0. В строке 1 у вас есть два значения TRUE для среднее значение (1 + 1) / 2 = 1.
sim = matrix(c(1,2,1,2,1,2), nrow = 2, ncol = 3, byrow = TRUE)
row2 <- sim[2, sim[1, ] == 1] == 1
row2
mean(row2)
row1 <- sim[1, sim[1, ] == 1] == 1
row1
mean(row1)