R语言read_excel函数如何直接将矩阵类Excel数据导入为矩阵而非数据框
关于read_excel()读取矩阵结构Excel文件的解决方法
read_excel() 没有内置参数可以直接返回矩阵类型结果,所有Excel表格数据默认都会被解析为tibble(数据框子类)格式,你可以通过极简的转换代码完成矩阵生成,现有代码可大幅简化。
简化实现代码
base R版本(无需额外依赖)
library(readxl) # 读取Excel文件 mobib_df <- read_excel("mobib_data.xlsx") # 一步生成带行名的数值矩阵 mobib_matrix <- as.matrix(mobib_df[,-1], rownames = mobib_df[[1]])
管道操作版本(可读性更高)
library(readxl) library(dplyr) mobib_matrix <- read_excel("mobib_data.xlsx") %>% # 将第一列设为行名 column_to_rownames(var = "Origine voyageurs") %>% # 直接转换为矩阵 as.matrix()
说明
- 你原有代码中的
sapply(mobib_df[,-1], as.numeric)属于多余操作:read_excel()已经自动识别除首列外的所有列是数值类型,转换矩阵时会自动保留对应属性 - 直接提取首列赋值行名即可,不需要额外做矩阵转换操作
内容的提问来源于stack exchange,提问作者salwa
相关产品推荐
相关产品推荐

