У меня есть матрица с соответствующими именами строк и столбцов.У меня также есть список с некоторыми именами строк / столбцов.В матрице я хочу заменить все ячейки строк и столбцов именами, НЕ включенными в список, на NA.
Вот матрица:
> A <- matrix(c(2,0,3,0,5,NA,1,0,NA,6,11,9,0,1,NA,2,0,1,NA,3,6,1,NA,0,0), nrow=5, ncol=5)
> dimnames(A) = list(c("ID1", "ID2", "ID3", "ID4", "ID5"), c("ID1", "ID2", "ID3", "ID4", "ID5"))
> A
ID1 ID2 ID3 ID4 ID5
ID1 2 NA 11 2 6
ID2 0 1 9 0 1
ID3 3 0 0 1 NA
ID4 0 NA 1 NA 0
ID5 5 6 NA 3 0
Список можно посмотретькак это:
B<-list("ID1","ID2","ID5")
[[1]]
[1] "ID1"
[[2]]
[1] "ID2"
[[3]]
[1] "ID5"
Результат должен выглядеть следующим образом:
ID1 ID2 ID3 ID4 ID5
ID1 2 NA NA NA 6
ID2 0 1 NA NA 1
ID3 NA NA NA NA NA
ID4 NA NA NA NA NA
ID5 5 6 NA NA 0
Я пробовал следующее:
C <- A[A != B,A != B]<- NA
C <- A[(!(A[B,B]))]<- NA
... и некоторые версииэто, но я, очевидно, делаю что-то не так ... Спасибо за вашу помощь.