
パッケージ「R.matlab」を使うと.matファイルの読み書きができる。
install.packages("R.matlab")
library(R.matlab)
#読み込み
data <- readMat(pathname)
print(data)
#書き出し
A <- matrix(1:27, ncol=3)
B <- as.matrix(1:10)
C <- array(1:18, dim=c(2,3,3))
filename <- paste(tempfile(), ".mat", sep="")
writeMat(filename, A=A, B=B, C=C)
マニュアル
D <- c('a', 'b', 'c')
dat <- list(A=A, B=B, C=C, D=D)
writeMat(filename, dat=dat)
% on Matlab %
>> dat
dat =
A: [9x3 int32]
B: [10x1 int32]
C: [18x1 int32]
D: {3x1 cell}
この例だとRでの変数名Cは3次元のarrayだが、Matlabで読み込むと1列のベクトルにまとめられてしまう。