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

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,]

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值