У меня есть следующие матрицы c
:Перенумерация имена столбцов в матрицу R
[,1] [,2] [,3] [,4] [,5] [,6]
result.1 62 64 44 55 81 66
result.2 65 50 56 79 69 52
result.3 57 62 84 76 65 59
result.4 30 70 61 41 36 60
result.6 66 63 51 44 66 28
result.7 80 72 72 82 67 66
вход представляет собой матрицу c
. В матрице может быть больше одного пробела (номера пропущенных строк), а повторная нумерация будет для каждого промежутка от первой строки до последней строки.
Как видно, отсутствует строка (результат.5) Я хотел бы изменить нумерацию имен столбцов так, чтобы она пропускала недостающее значение в строках. Ожидаемый результат будет:
[,1] [,2] [,3] [,4] [,6] [,7]
result.1 62 64 44 55 81 66
result.2 65 50 56 79 69 52
result.3 57 62 84 76 65 59
result.4 30 70 61 41 36 60
result.6 66 63 51 44 66 28
result.7 80 72 72 82 67 66
Для воспроизведения примера, я добавляю следующий код:
c<-read.table (text = "
[,1] [,2] [,3] [,4] [,5] [,6]
result.1 62 64 44 55 81 66
result.2 65 50 56 79 69 52
result.3 57 62 84 76 65 59
result.4 30 70 61 41 36 60
result.6 66 63 51 44 66 28
result.7 80 72 72 82 67 66 ", header = TRUE)
setnames(c, c("[,1]", "[,2]", "[,3]", "[,4]", "[,5]", "[,6]"))
c<-as.matrix (c)
'COLNAMES (с) <- gsub ('\\ D', '', rownames (c)) '? – Sotos
Пожалуйста, не используйте 'c' в качестве имени объекта,' c <- matrix (1: 4, 2); c (c [, 1], c (4: 5)) '... – zx8754
Почему не просто' colnames (x) <- rownames (x) '? Имена - это строки. Поскольку 'x [," 6 "]' не будет таким же, как 'x [, 6]' – zx8754