У меня есть матрица данных с n строками и m столбцами (в данном случае n = 192, m = 1142) и индексной матрицей nxp (192x114). Каждая строка матрицы индексов показывает номера столбцов элементов, которые я хотел бы выбрать из соответствующей строки матрицы данных. Таким образом, у меня есть ситуация примерно так (с примерами значений):
data<-matrix(1:30, nrow=3)
data
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 4 7 10 13 16 19 22 25 28
[2,] 2 5 8 11 14 17 20 23 26 29
[3,] 3 6 9 12 15 18 21 24 27 30
columnindices<-matrix(sample(1:10,size=9, replace=TRUE),nrow=3)
columnindices
[,1] [,2] [,3]
[1,] 8 7 4
[2,] 10 8 10
[3,] 8 10 2
Я бы хотел выбрать значения из строк матрицы данных, используя матрицу in columnindices, чтобы полученная матрица выглядела следующим образом
[,1] [,2] [,3]
[1,] 22 19 10
[2,] 29 23 29
[3,] 24 30 6
Я пытался использовать цикл for:
result<-0
for(i in 1:3) {
result[i]<-data[i,][columnindices[,i]]
print[i]
}
но это не показывает желаемый результат. Я думаю, что моя проблема должна быть довольно просто решена, но, к сожалению, несмотря на многочасовую работу и многократные поиски, я все еще не смог ее решить (я новичок). Буду очень признателен за помощь!