R:重命名矩阵的列/行的时间有效方式

时间:2017-04-25 14:30:06

标签: r matrix

是否有更有效的方法: 矩阵expr是15745 x 41

for (i in 1:ncol(expr)){
   colnames(expr)[i] <- paste0("V",i);
}
for (i in 1:nrow(expr)){
   rownames(expr)[i] <- paste0(i);
}

2 个答案:

答案 0 :(得分:4)

colnames(expr) <- paste0("V",1:ncol(expr))
rownames(expr) <- 1:nrow(expr)

答案 1 :(得分:2)

我们可以使用dimnames来执行此操作

dimnames(expr) <- list(seq_len(nrow(expr)), paste0("V", seq_len(ncol(expr))))

或者这也可以通过明确指定colnamesrownames来完成,正如我们之前评论过的那样

colnames(expr) <- paste0("V", seq_len(ncol(expr)))
rownames(expr) <- seq_len(nrow(expr))

或另一种选择是将其转换为data.frame,它会自动进行命名(如果使用data.frame就可以了)

as.data.frame(expr)

数据

set.seed(24)
expr <- matrix(rnorm(10*5), 10, 5)