При следующей настройке:
> vals = matrix(nrow = 3,ncol = 4)
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA
> position = matrix(c(4,2,1, 6,3,2, NA,NA,3, NA,NA,4), nrow = 3, ncol = 4)
[,1] [,2] [,3] [,4]
[1,] 1 4 NA NA
[2,] 2 3 NA NA
[3,] 1 2 3 4
> temp = c(10, 5, 8, 6, 9, 2, 4, 3)
Я пытаюсь заполнить vals
значениями, содержащимися в temp
. Тем не менее, значения должны быть размещены в точках, заданных position
. В частности, каждая строка в position
представляет строку в vals
, а значения представляют столбец, в который должно быть помещено значение.
Например, position[2,2] = 3
. Поскольку это вторая строка этой позиции, соответствующее значение должно входить в vals[2,3]
. Окончательный результат будет:
[,1] [,2] [,3] [,4]
[1,] 10 NA NA 5
[2,] NA 8 6 NA
[3,] 9 2 4 3
Это было бы просто с циклами for, но можно ли это сделать без них?