R

基本
  • round(3.14) #丸め(四捨五入);3
  • floor(3.14) #切り捨て;3
  • ceiling(3.14) #切り上げ;4
  • x <- numeric(5) #c(0, 0, 0, 0, 0)と同じ
  • y <- c(0, 1, 2, 3) #y[1] = 0に注意
  • length(y) #4
  • z <- c(2:5) #c(2, 3, 4, 5)と同じ
  • y[c(2, 4)] #2番目と4番目の要素を取り出す; 1と3
  • y[-c(1, 2)] #1番目と3番目の要素を除く; 2と3
  • y[y > 2] #2より大きい要素を取り出す; 3
  • y[(y %% 2) == 0] #偶数の要素だけ取り出す; 0と2
  • a <- matrix(c(1:6), ncol=3) #1~6を3列の行列に(nrow=2でも同じ); デフォルトはbyrow=FALSEなので列ごとにデータを入れる
  • locator() #クリックした点の座標を返す(終了時に右クリックする)
  • head(iris) # irisの最初の数行のデータを見る
  • class(x) # xのデータ形式を確認

Locfitで一次元ヒストグラム用データのスムージング
  • install.packeges('locfit') #最初はインストールが必要
  • library(locfit)
  • x <-read.table(’temp.txt') #データ
  • fit = locfit.raw(lp(x[,1], nn=0.1, h=0.8))
  • plot(fit, get.data=TRUE)

CSVファイルを読み込んでヒストグラムを描く
  • data <- read.csv("data.csv”) #data.csvはduration, pitch, entropyを持っているとする
  • data$duration
  • attach(data)
  • duration #data$durationと同じ
  • mdata <- as.matrix(data)
  • mdata[,1] #data$durationと同じ
  • hist(mdata[,1])
スペアマン順位相関
  • cor(dat[,1], dat[,2], method='spearman')
グラフをファイルに保存
  • plot(x)
  • dev.copy(pdf, file="ファイル名.pdf") #pdfの場合
  • dev.copy2eps(file='catalog_pca.eps') #epsの場合
  • dev.off()
画面を切り替える
  • dev.set(デバイス番号)

主成分分析 (Principal Compornent Analysis)
  • pca <- princomp(iris[,-5]) # ラベル部分を除く
  • lab <- as.numeric(iris[,5]) # 文字列ラベルを数値に直す
  • plot(pca$scores, type="n", xlab='PC1', ylab='PC2')# 主成分得点の散布図
  • text(pca$scores, label=lab, col=lab)
  • biplot(pca)
  • summary(pca)# 標準偏差、主成分の寄与率、累積寄与率を表示

多次元尺度構成法
  • d <- dist(dataa[,-5]) #ラベル部分を除く
  • cmd <- cmdscale(d)
  • plot(cmd, type="n")
  • text(cmd, rownames(dataa[5]))

RとMySQLの連携(参考
  • install.packages('DBI')
  • install.packages("RMySQL")
  • Windowsの場合、RMySQL_0.6には不具合があるので、RMySQLディレクトリにあるlibsをRMySQL_0.57のもので置き換える

Memo
  • 全ての変数をクリア:rm(list = ls())
  • グラフをEPSファイルに保存:dev.copy2eps(file="pic.eps", family="Helvetica")
  • x <- rep(NA, 10)
    x<-1
    x<-c(x, 2)
  • query <- getSQLSelect("syll_g6_1_clustered", "mean_entropy", "October_07_2006", "")
  • データフレームの一部を取り出す:durations <- subset(tblsong, select="duration", file_name="0301_39337.59548625_9_12_16_32_28.wav")
Link
Comments