R语言 dataframe转化为matrix

第一次写博客,从今日起正式开始记录小白成长记.

1. 问题描述

将从MATLAB中导出的mat数据, 导入到R中, 并将dataframe格式 转化为 matrix格式.

mat数据
图1 

如上图1为MATLAB导出的mat数据, 大小为9843*1643.

2. 解决方案

解决方案一共分为以下3个步骤.

  1. mat数据                转化为      csv数据         (MATLAB中实现)
  2. R读入csv文件, 为dateframe类型数据;        (R中实现)
  3. dataframe数据       转化为      matrix数据    (R中实现)

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

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.metrix(data1)
  • 使用as.number函数(详见help(as.number))
y <- apply(data1, as.numeric)

3. 待解决

将大小为9843*1643的matrix, 取任意一行存为numeric格式. 

猜你喜欢

转载自blog.csdn.net/weixin_41938903/article/details/84983804