Ошибка при присвоении имен строкам и столбцам матрицы в R

#r #matrix

#r #матрица

Вопрос:

Я создал матрицу в R и. Теперь я хочу назвать ее строки и столбцы. У меня есть вектор имен, и я хочу присвоить эти имена строкам и столбцам моей матрицы. но это выдает мне такую ошибку: длина ‘dimnames’ [1] не равна экстенту массива Вот мой код, col — вектор имен.

     cor<-matrix( ,nrow=159,ncol=159)
    index<-2
    for(i in 1:nrow(cor)){

          rownames(cor)[i]<-cols[index]
          index<-index 1

    }
  

Комментарии:

1. Каков тип и длина / размер cols ?

2. cor не является хорошим именем, поскольку оно перезаписывает базовую функцию cor .

Ответ №1:

Предполагая, что cols это символьный вектор длиной 160, тогда вам не нужен цикл, вы можете просто сделать

 rownames(cor) <- cols[-1]
  

или, если cols длиннее 160, вы можете сделать

 rownames(cor) <- cols[2:160]
  

поскольку вам нужно ровно 159 имен для каждой из 159 строк в вашей матрице.