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

如何基于Excel数据快速生成R语言matrix矩阵表?

问题场景

我持有一份存储相关数据的Excel文件,数据样例见下图:
数据样例
我需要基于这些数据生成R语言矩阵对象,此前一直通过手动录入数值拼接向量的方式实现,示例代码如下:

table <- matrix(c(292, 289, 299, 333, 253, 260, 260, 284, 262, 326, 120, 108, 120, 116, 106, 102, 114, 127, 130, 155), ncol = 2)

当数据条目增长到数百条时,手动录入代码的效率极低,需要更高效的实现方案。

实现方法

完全不需要手动录入数值,直接从Excel源文件读取数据后转成矩阵即可,全程只需要3步:

  • 安装并加载读取Excel的专用包readxl,这是R生态里适配Excel格式最稳定的工具,不会出现格式错乱问题:
# 首次运行执行安装即可,后续使用不需要重复跑
install.packages("readxl")
library(readxl)
  • 读取本地Excel文件到R环境,把代码里的文件路径替换成你自己的文件存储位置,sheet参数填要读取的工作表序号或者名称即可:
# 示例:读取文件里第一个工作表的全部数据
raw_df <- read_excel("C:/你的文件存储路径/数据文件.xlsx", sheet = 1)
  • 将读取到的数据直接转换为矩阵,不需要手动拼接数值向量,可根据自己的数据结构选对应写法:
# 方案1:如果Excel里本身就是2列规整数值,直接转换即可
result_matrix <- as.matrix(raw_df)

# 方案2:如果只需要提取表中指定数值列生成矩阵,比如提取第2、第3列
result_matrix <- as.matrix(raw_df[, c(2,3)])

# 方案3:如果需要把所有数值按顺序排成固定2列的矩阵,和手动录入的逻辑完全一致
result_matrix <- matrix(as.numeric(unlist(raw_df)), ncol = 2)

小提示:转换前可以运行str(raw_df)检查读取到的列格式,如果混入文本类型的列会导致矩阵全部转成字符型,提前筛掉非数值的备注、多余表头列即可。

这种方法不管是几百条还是几万条数据,运行时间都在1秒以内,完全不需要手动录入任何数值。

内容的提问来源于stack exchange,提问作者BR27

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 04:48:30