我有以下c
矩阵:
[,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
。在矩阵中可能存在多个间隙(缺少行数),并且重新计算将是从第一行到最后一行的每个间隙。
可以看到缺少行(result.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)
答案 0 :(得分:2)
您可以使用以下内容
colnames(c) <- gsub('\\D', '', rownames(c))
c
# 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