Rで解析:MATLABのコマンドが使えます「matlab」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

各種MATLABの43種類のコマンドが収録されたパッケージの紹介です。行列の操作が楽になると思います。いくつかのコマンドを紹介します。

パッケージのバージョンは1.0.4.1。windows 11のR version 4.4.1で確認しています。

スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

# パッケージのインストール
install.packages("matlab")

実行コマンド

紹介しきれていないコマンドや詳細はコメントやコマンドヘルプを確認してください。

# パッケージの読み込み
library("matlab")

# MATLAB ceil function:ceilコマンド
# 少数を繰り上げる
ceil(c(1.45, 0.045, 0.5))
#[1] 2 1 1


# MATLAB ceil function:ceilコマンド
# 少数を切り下げる
fix(c(1.45, 0.045, 0.5))
#[1] 1 0 0

# MATLAB cell function:cellコマンド
# 指定した"matrix" "array"を作成
cell(2, 2, 2)
# , , 1
# 
# [,1]      [,2]     
# [1,] numeric,0 numeric,0
# [2,] numeric,0 numeric,0
# 
# , , 2
# 
# [,1]      [,2]     
# [1,] numeric,0 numeric,0
# [2,] numeric,0 numeric,0


# MATLAB colorbar function:colorbarコマンド
# 目盛り方向を指定:locationオプション;"EastOutside","WestOutside","NorthOutside","SouthOutside"
par(mfrow = c(1, 2))
image(matrix(1:9, 3,3))
colorbar(c(1:9), location = c("EastOutside"))


# MATLAB eye function:eyeコマンド
# 恒等行列を作成
eye(4)
#      [,1] [,2] [,3] [,4]
# [1,]    1    0    0    0
# [2,]    0    1    0    0
# [3,]    0    0    1    0
# [4,]    0    0    0    1


# MATLAB factor function:factorsコマンド
# 素因数分解を行う,Rのfactorではない
factors(20)
# [1] 2 2 5


# MATLAB fileparts function:filepartsコマンド
# パスを分割する
fileparts("/home/user/filename.txt")
# $pathstr
# [1] "/home/user"
# 
# $name
# [1] "filename"
# 
# $ext
# [1] ".txt"
# 
# $versn
# [1] ""


# MATLAB find function:findコマンド
# 論理式もしくは0でない要素の位置を取得
find(c(0, 1, 0, -2, 3))
# [1] 2 4 5
find(-3:3 >= 0)
# [1] 4 5 6 7


# MATLAB matrix flip function:fliplr/flipudコマンド
# 左から右へ回転:fliplrコマンド
# 上から下へ回転:flipudコマンド
fliplr(1:9)
# flipud(1:9):一次元なのでfliplr(1:9)と同じ
# [1] 9 8 7 6 5 4 3 2 1

flipud(matrix(1:9, 3, 3))
#    [,1] [,2] [,3]
# [1,]    3    6    9
# [2,]    2    5    8
# [3,]    1    4    7


# MATLAB hilb function:hilbコマンド
# ヒルベルト行列を作成
hilb(4)
#           [,1]      [,2]      [,3]      [,4]
# [1,] 1.0000000 0.5000000 0.3333333 0.2500000
# [2,] 0.5000000 0.3333333 0.2500000 0.2000000
# [3,] 0.3333333 0.2500000 0.2000000 0.1666667
# [4,] 0.2500000 0.2000000 0.1666667 0.1428571


# MATLAB isempty function:isemptyコマンド
# オブジェクトが空かの確認
Test <- data.frame(NULL)
isempty(Test)
# [1] TRUE


# MATLAB isprime function:isprimeコマンド
# 素数であるかの確認:TRUE;1/FALSE;0
isprime(5)
# [1] 1

# MATLAB linspace function:linspaceコマンド
# 指定した数字の範囲を指定した数で等分割した結果を返す
linspace(1, 2, n = 5)
# [1] 1.00 1.25 1.50 1.75 2.00


# MATLAB logspace function:logspaceコマンド
# 指定した底10の範囲で等分割した結果を返す
logspace(1, 2, n = 5)
# [1]  10.00000  17.78279  31.62278  56.23413 100.00000


# MATLAB magic function:magicコマンド
# 行と列の和が等しいn x n行列を作成
magic(2)
#      [,1] [,2]
# [1,]    1    3
# [2,]    4    2


# MATLAB mod/rem functions:mod/remコマンド
# 除算のモジュラス:modコマンド
mod(-5, 3)
# [1] 1

# 除算の余り:modコマンド
rem(-5, 3)
# [1] -2


# MATLAB ndims function:ndimsコマンド
# 配列の次元数
ndims(2:9)
# [1] 2


# MATLAB nextpow2 function:nextpow2コマンド
# 指定値以上の最小の 2 のべき乗の指数
nextpow2(1:10)
# [1] 0 1 2 2 3 3 3 3 4 4


# MATLAB numel function:numelコマンド
# 要素のカウント
numel(2:3)
# [1] 2


# MATLAB ones/zeros functions:ones/zerosコマンド
# 要素が1の配列を作成
ones(2)
#      [,1] [,2]
# [1,]    1    1
# [2,]    1    1

# 要素が0の配列を作成
zeros(2)
#      [,1] [,2]
# [1,]    0    0
# [2,]    0    0


# MATLAB padarray function:padarrayコマンド
# 配列に追加する
# 追加量:padsizeオプション
# 追加内容:padvalオプション;数字/"circular","replicate","symmetric"
# 追加方向:directionオプション;"both","pre","post"
padarray(1:4, 1, padval = "circular", direction = "pre")
#      [,1] [,2] [,3] [,4]
# [1,]    1    2    3    4
# [2,]    1    2    3    4


# MATLAB pascal function:pascalコマンド
# パスカル行列を作成
pascal(3, 2)
#      [,1] [,2] [,3]
# [1,]    1    1    1
# [2,]   -2   -1    0
# [3,]    1    0    0


### その他コマンド #####
# imagesc, pathsep, pow2, primes, repmat, reshape, rosser,
# rot90, size, class, std, strcmp, sum, tictoc, jet.colors,
# multiline.plot.colors

少しでも、あなたの解析が楽になりますように!!

Amazon audibleの登録の紹介

プライム会員限定で2024年7月22日まで3か月無料体験キャンペーン開催中です。無料体験後は月額1,500円で聞き放題です。なお、聞き放題対象外の本はAudible会員であれば非会員価格の30%引きで購入することが可能です。

Amazon audibleはプロのナレーターが朗読した本をアプリで聞くことができるサービスで、オフライン再生も可能です。通勤や作業のお供にAmazon audibleのご登録はいかがでしょうか。

・AmazonのAudible

https://amzn.to/3L4FI5o

タイトルとURLをコピーしました