第一次写博客,从今日起正式开始记录小白成长记.
1. 问题描述
将从MATLAB中导出的mat数据, 导入到R中, 并将dataframe格式 转化为 matrix格式.

如上图1为MATLAB导出的mat数据, 大小为9843*1643.
2. 解决方案
解决方案一共分为以下3个步骤.
|
2.1 mat数据转化为csv格式
在matlab中, 使用csvwrite函数,其中s为mat文件,将mat文件导出为"ko_wt.csv"文件.
csvwrite('ko_wt.csv',s);
2.2 R读入csv文件
在R中, 使用read.csv函数读取 csv 文件,
read.csv(file, header = TRUE, sep = ",", quote = "\"", dec = ".", fill = TRUE, comment.char = "", ...)
file需要给出csv文件路径 (win和mac路径符号不同需注意), 其余参数参见help(read.csv), 类似读取数据的函数有:read.table, read.csv2, read.delim等.
具体参见: http://127.0.0.1:17814/library/utils/html/read.table.html
R读取数据的方法参考文献:R—读取数据(导入csv,txt,excel文件) - 记忆的稻草人 - 博客园
data1<-read.csv('d:/ko_wt.csv') #参数默认为TRUE
data2<-read.csv('d:/ko_wt.csv',header=FALSE)
2.3 dataframe转化为matrix
将dataframe转化为matrix, 目前找到了2种方法,欢迎补充..
- 使用 data.matrix 函数
y = data.matrix(data1)
- 使用as.number函数(详见help(as.number))
y <- apply(data1, as.numeric)
3. matrix 提取出 numeric格式一行的数据
将大小为9843*1643的matrix, 取任意一行存为numeric格式.
矩阵更多处理参考:R语言中获取矩阵中元素的几种形式
y1 = y[1,]