R 在矩阵上使用 sapply 时保留列名和行名

标签 r dataframe matrix apply sapply

已经有人提出一个问题,关于在应用 applysapply 等时如何将列名保留在矩阵中。 here 。 但我没有找到如何保留矩阵的列行名称。

下面是一个例子:

mat = matrix(c(as.character(1:4)), nrow = 2)
colnames(mat) = c( 'col1', 'col2' )
rownames(mat) = c( 'row1', 'row2' )
mat = apply(mat,  2,  function(x) as.numeric(paste(x)))
colnames(mat)
rownames(mat)

提前致谢:-)

最佳答案

我们可以将您的应用程序包装在用户定义的函数中。

mat_fun <- function(m){
  m2 <- apply(m,  2,  function(x) as.numeric(paste(x)))
  colnames(m2) <- colnames(m)
  rownames(m2) <- rownames(m)
  return(m2)
}

mat_fun(mat)
#      col1 col2
# row1    1    3
# row2    2    4

关于R 在矩阵上使用 sapply 时保留列名和行名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58098416/

相关文章:

python - 如何在 panda 中使用需要唯一的列执行移动平均值?

java - 如何生成 3 x 2 矩阵的所有可能组合?

r - 识别连续出现并合并两个数据帧

r - 展开 data.table 中的日期

python - Pandas 在特定级别将行添加到多索引

R从列中提取多个变量

python - 按行分组时如何合并 pandas 数据框的字典

r - R 模型矩阵中因子的所有级别

r - 使用 R,将多个卡方列联表测试应用于分组数据框,并添加包含测试 p 值的新列

r - 霍特林统计