You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中如何将matrix转换为指定结构的tibble

你可以通过以下两种常用方式实现转换,先构造示例矩阵:

# 构造目标矩阵
mat <- matrix(1:3, nrow = 3, dimnames = list(c("X","Y","Z"), c("A")))

方法1:使用tidyverse套件(兼容性更强,多列矩阵也可直接复用)

library(tidyverse)

result <- mat %>%
  # 把矩阵转为tibble,同时将行名存储到group1列
  as_tibble(rownames = "group1") %>%
  # 把除group1外的所有列转为长格式,列名存入group2,对应值存入value
  pivot_longer(cols = -group1, names_to = "group2", values_to = "value")

方法2:轻量实现(仅依赖tibble包,用base R逻辑构造)

library(tibble)

result <- tibble(
  group1 = rownames(mat),
  group2 = rep(colnames(mat), each = nrow(mat)),
  value = as.vector(mat)
)

两种方法输出的结果都和你给出的目标tibble完全一致。

内容的提问来源于stack exchange,提问作者Erdem Erikçi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 00:06:05