Я пытаюсь взять позиции «1s» в m-матрице и использовать эти позиции для изменения значений в k-матрице на NA. Но у меня возникли проблемы с его получением после многих попыток.Изменение значений в матрице на основе позиций столбцов
m <- matrix(c(0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1),
nrow = 4, byrow = TRUE)
m
[,1] [,2] [,3] [,4]
[1,] 0 0 0 1
[2,] 0 1 0 1
[3,] 1 0 0 0
[4,] 0 0 1 1
k <- matrix(c(12, 32, 12, 13, 23, 31, 23, 31, 23, 32, 67,63,61, 22,99, 34),
nrow = 4, byrow = TRUE)
k
[,1] [,2] [,3] [,4]
[1,] 12 32 12 13
[2,] 23 31 23 31
[3,] 23 32 67 63
[4,] 61 22 99 34
Поступая ниже я получаю позиции столбцов 1с в м матрицы:
jj<- row(m)[m!=0]
[1] 3 2 4 1 2 4
Я попробовал несколько подходов, но я изо всех сил, чтобы заменить значения в K матрицу на основе строчные позиции матрицы m к NA.
То, что я хотел бы достичь, это ниже:
[,1] [,2] [,3] [,4]
[1,] 12 32 12 NA
[2,] 23 NA 23 NA
[3,] NA 32 67 63
[4,] 61 22 NA NA
Да, это правильно. Спасибо огромное! – Sam
удивительно сжатый код..superb! –