Получить общий элемент между двумя матрицами и назначить остальные NA.Я попробовал следующий код, но не смог найти решение - PullRequest
1 голос
/ 20 мая 2019

Я хотел бы получить общие элементы между двумя матрицами и назначить NA для отдыха.

    m <- matrix(seq(1:28), byrow = T, ncol =7)
    colnames(m) <- paste0("V", 1:7)
    n <- matrix(seq(1:154), byrow = T, ncol = 7)
    colnames(n) <- paste0("V", 1:7)
    k <- matrix(seq(1:28), byrow =T, ncol = 7)
    colnames(k) <- paste0("V", 1:7)
    nk <- rbind(n,k)

    for(i in 1:dim(nk)[1]){
        for(j in 1:dim(nk)[2])
        if(nk[i,j] != nk[match(as.matrix(m), nk)]){
         nk[i,j] <- NA
       } else(nk)
     }

Я хотел бы получить что-то вроде этого ##


    V1 V2 V3 V4 V5 V6 V7
    1   2  3  4  5  6  7 
    8   9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28 
    NA NA NA NA NA NA NA
    NA NA NA NA NA NA NA 
    .
    .
    .
    .
    1   2  3  4  5  6  7 
    8   9 10 11 12 13 14
    .
    22 23 24 25 26 27 28

Сообщение об ошибке, которое я получил: In, если (nk [i, j]! = Nk [match (as.matrix (m), nk)]) {...: условие имеет длину> 1, и только первый элемент будетиспользоваться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...