R

ステレオパンニングの実装(R Advent Calendar 2014)

R

はじめに R Advent Calendar 2014 (ATND)の28日目の記事です。Qiitaにもアドベント・カレンダーがあるのですね。 昨年のカレンダーでもRを使って音響信号処理っぽいことをしたのですが、今年もその路線でやりたいと思います。今年は少し簡単な素材として、ス…

ラベル視認性が(若干)高いbiplot

R

因子分析(や主成分分析)の結果をバイプロットすることがあります。因子分析の場合は、Rのbiplot()関数を使うと以下のように因子負荷量(赤矢印)と因子得点(黒数字)を表しています。 この図を作るのには、まず因子負荷量・因子得点っぽいダミーの値を準…

R.appのロケール設定

R

ふだんRを使う時にはR Studio、ESS、R.appを併用しているが、R.appを起動する時だけ「ロケールの設定がうまくいっていない」といった警告メッセージが出てくるようになった。どうやらMacを新調してからこういったことが起こるようになったので、新しいMacで…

室内音響指標C値の計算 (R Advent Calendar 2013)

あけましておめでとうございます。R Advent Calendar 2013の32日目の記事です。僕の専門は音響と心理との学際領域で、ふだんは音に関する主観評価実験の準備・分析にMatlabやRを使用しています。今回は室内音響分野で使われる計算をRでやってみます(その分…

ANOVA4 on the Web、R(のaov)、SPSS、ANOVA君で分散分析

R

ANOVA4 on the Webは、広島女学院大学の桐木氏が作成した、ウェブ上で4要因(四元配置)までの分散分析を実行できる便利な環境です。同サイトで公開されているANOVA4 on the Web専用の入力フォーマット(ANVファイル)のサンプルファイルをANOVA4で実行した…

信号の包絡線を計算する

R

統計以外の様々なことにもRを使用し始めています。今日はインパルス応答のピーク検出をするために、信号の包絡線(エンベロープ、envelope)を計算するプログラムを書きました。以前Matlabで書いたものをそのまま移植しようとしたら、ヒルベルト変換の関数が…

実効値(RMS)を計算する

R

これまでMatlabでやってきたことをR言語で置き換えられないか、検討を続けています。R言語は統計処理に強いのですが汎用的にも用いることができるので、もちろん信号処理的なことができないわけはありません。今回は音ファイルの実効値の計算をしてみました…

複数ファイルを一度に処理

R

knitrを使ってドキュメント生成をしている。ひとつのトピックにつきひとつの.Rmdファイルを作るので、ディレクトリ内に多くの.Rmdファイルができてしまう。それらをひとつづつHTMLに変換していくのは面倒なので、一括処理を行うための簡単なスクリプトを書い…

各党の経済再生手法を主成分分析

R

今日は選挙ですね。各政党の経済再生手法への賛成・反対の表が、日経新聞朝刊に載っていました。それをささっとRで主成分分析してみました。2次元までで90%の累積寄与率になっています。 D <- read.csv("20121216_nikkei.csv", header=TRUE, row.names=1) bi…

wavread

R

Rで、Matlab互換のwavreadが欲しかったのだけど、いろいろ探しても3ch以上のファイルに対応したものがなかったので、しょうがなく自分で作ってみた。これで5.1chのファイルもいじれる。 source("wavread.R") x <- wavread("filename.wav") とするとfilename.…

シェッフェの一対比較法(中屋の変法)

先日の浦の変法に続き、シェッフェの一対比較法(中屋の変法)を実装してみました。佐藤信『統計的官能検査法』(日科技連出版社)に書かれている方法をそのままコードにして、今度はp値の計算結果も表示するようにしただけです。詳しいことは同書を参照して…

シェッフェの一対比較法(浦の変法)

自分の仕事でよく使うシェッフェの一対比較法(浦の変法)を、Rの勉強がてら実装してみました。佐藤信『統計的官能検査法』(日科技連出版社)に書かれている方法をそのままコードにしただけなので、詳しいことは同書を参照して下さい。使用例は以下の通り。…

プロットのPNGファイルへの保存

R

dev.copy2pdf(file="hoge.pdf") を使ってPDFファイルに保存して、他のプログラムを使ってPNGに変換していたけれど、Quick-Rによると png("hoge.png") t <- seq(from=0, to=2*pi, length=50) plot(t, sin(t), type="b") dev.off() で、直接PNGファイルに保存…

二項分布のグラフの続き

R

昨日の二項分布の続き。昨日は「p0という確率のもとで、n回の試行のうちk回以上が成功する」というところから、k回以上の部分に色を塗る図を作った。今日は、それに加えて「pという確率のもとで、n回の試行のうちk回未満が失敗する」ところに色を塗ったもの…

二項分布の図を描いてみる

R

コイントスのような二項分布において「10回中8回以上表が出る場合」のような図を使いたいときはよくあるので、今回はRを使って作図してみた。p、n、kを変化させると、異なる分布の図が書ける。今回はn回の試行のうちk回以上成功するところに色を付けたかった…

残響時間を求めるRのプログラム

R

今日はR言語がどのていど信号処理っぽい目的に使えるか試してみました。とは言ってもガリガリと信号処理をするわけではなく、簡単にフィルタがかけられて、結果がグラフにできればいいので、室内のインパルス応答から残響時間を求めるプログラムを作成してみ…

Rで円を描く

R

2chで話題が上がっていたので、それを参考にRで中心(x=2, y=5)で半径r=3の円を描いてみました。 x <- 2 y <- 5 r <- 3 th <- seq(0, 2*pi, length.out=100) plot(x+r*cos(th), y+r*sin(th), type="l", asp=1) asp=1でアスペクト比を1:1にしていますが、これ…

Rで日本語文字をプロットする

R

普段は英数字しかプロットに使わないので日本語が書けなくて困ったりはしなかったものの、相談されたので調べてみると、いくつかのブログに対処法が掲載されてみました。まずは MacOSXのRでコンソール上では日本語使えるのにplotすると文字化けする場合の対…

配列を宣言してから中身を入れると速い

「R in a Nutshell」を読み進んでいます。第8章に、配列というのはあらかじめメモリを確保してから中身を入れた方が速いということが説明されています。たとえば create.vector.of.ones <- function(n) { return.vector <- NA; for (i in 1:n) { return.vect…

R in a Nutshell

iPhone用のO'Reilly書籍アプリが600円。そしてKindleやiBooks用にフォーマット変換できてしまうので、調子に乗ってまた一冊購入。今度は「R in a Nutshell」。これまで何冊かRの本を読んでみましたが、いまいちピンと来ない部分があり、Rを常用するまでには…

R言語勉強メモ(ベクトルと行列)

R

『Rによるやさしい統計学』でなおも勉強中。第1部「基礎編」を読み終わり、第2部「応用編」に入ったところ。第2部冒頭の行列とデータフレームのあたりが分かれば、放ってあったU.リゲス著『Rの基礎とプログラミング技法』を読むのが楽になるかも。Javaで言う…

Rによるやさしい統計学

R言語をオンライン文書をつかって勉強していたのですが、今は『Rによるやさしい統計学』で勉強しています。著者は心理統計学を専門とする人で、『よくわかる心理統計』という本も出しています。高校数学の知識しか持たない学部生が、心理学の卒業研究のため…