Rの備忘録 のバックアップ(No.78) - アールメカブ

アールメカブ


Rの備忘録 のバックアップ(No.78)


_ 自作パッケージ

  • RMeCabパッケージ データ解析・グラフィックス環境 R から日本語形態素解析ソフト和布蕪( MeCab )を呼び出して使うインターフェイス
    • R2MeCabRMeCabのサブセット.実装関数は三つだけです.
  • RCaBoChaパッケージ データ解析・グラフィックス環境 R から日本語係り受け判定ソフト南瓜( CaBoCha )を呼び出して使うインターフェイス

_ R の参考書

  • :R でコーパス・テキスト・言語処理を行うための入門書ですが,第3章にRの包括的な入門があります.
  • 中級者になるために.
  • 解析をばりばり行うために.
  • データをばりばり処理するために.
  • R のプログラミングテクニックを学ぶために.
  • R での解析手法に慣れるために.
  • とにかく R を使ってみたい.
  • 統計学と R を同時に学びたい.

_ 資料

準備途上 Windows 用実行ファイル &ref(): File not found: "ism20091124.R" at page "Rの備忘録";


R についての最近のメモ

_ if の返り値

x <- 0
y <- if(x + 1){
  x + 100
}else{
  x - 100
}
y
[1] 100
# 
y <- if(x + 1) cat("TRUE\n")# else cat("FALSE\n")
if(y <- x + 1) cat("TRUE\n") else cat("FALSE\n")

_ lme による分散成分の標準誤差

  • Rjpwikiに lme の出力から分散成分の標準誤差を取り出したいという議論があるが,Batesがしばしば指摘しているようA,B) に,確率区間を使うべき.確率区間の計算は interval.lme() だから getS3method("interval", "lme") を実行して,一度アルゴリズムを確認すれば良いかなと思うのだけど.

_ .Primitives

2校演算子の定義するためにはクオートするが,呼び出しは以下のように,ダブルコーテーションも使えるのか

> str(`*`)
function (e1, e2)  
> get("*")
function (e1, e2)  .Primitive("*")
> `*`(3,3)
[1] 9
> get("*")
function (e1, e2)  .Primitive("*")
> "*"(3,3)
[1] 9
> `like this` <- 2
> "like that" <- 3
> print(`like this`)
[1] 2
> print("like that")
[1] "like that"

R-helpより

_ Rを最新版にした結果、RExcel が起動しなくなった場合

R を管理者権限で実行し

  1.  R のメニュー パッケージ を使って Rcmdr をインストール
  2.  R のメニュー パッケージ を使って RExcelInstaller? をインストール
  3. library(RExcelInstaller?) を実行
  4. installRExcel() を実行する
  5. Setup ウイザードの指示に従って next, install をクリックしていく
  6. 念のため RExcel を管理者権限で実行

以上です

RExcel を含め、古いRにインストールしていたパッケージをすべて新しい環境に移したい場合は

http://sunsite.univie.ac.at/rcom/  トップメニュー Wiki -> 左フレーム How to upgrade R with our packages installed

_ Cairo

_ R_64_bit_packages

_ biplot のラベルを変える

res.pc <- princomp(res, scale = 1)
rownames(res.pc$loadings) <- c("安部","麻生","福田","鳩山")
names(res.pc$scale) <- c("安部","麻生","福田","鳩山

_ 要素の長さが違うリストからテーブルを作る

もっとエレガントな方法(関数)があったような。

> a <- c("A","A", "B", "A")
> b <- c("A","B", "C", "A", "B")
> c <- c("C","A", "C", "B", "A", "B")
> 
> abc <- list(a,b,c)
> names(abc) <- c("あ","い","う")
> abc
$あ
[1] "A" "A" "B" "A"

$い
[1] "A" "B" "C" "A" "B"

$う
[1] "C" "A" "C" "B" "A" "B"

> 
> abc2 <- lapply(abc, table)
> abc2
$あ

A B 
3 1 

$い

A B C 
2 2 1 

$う

A B C 
2 2 2 

> abc3 <- lapply(abc2, data.frame)
> abc3
$あ
  Var1 Freq
1    A    3
2    B    1

$い
  Var1 Freq
1    A    2
2    B    2
3    C    1

$う
  Var1 Freq
1    A    2
2    B    2
3    C    2

> library(reshape)
 要求されたパッケージ plyr をロード中です 
> melt(abc3)
Using Var1 as id variables
Using Var1 as id variables
Using Var1 as id variables
  Var1 variable value L1
1    A     Freq     3 あ
2    B     Freq     1 あ
3    A     Freq     2 い
4    B     Freq     2 い
5    C     Freq     1 い
6    A     Freq     2 う
7    B     Freq     2 う
8    C     Freq     2 う

_ 因子の組み合わせinteraction

p.89

> x <- data.frame(Age = c(20,20,30,30,30), 
                  Sex =c("F","M","M", "F", "F"),
                   Data = c(1,2,3,4,5))
> x
  Age Sex Data
1  20   F    1
2  20   M    2
3  30   M    3
4  30   F    4
5  30   F    5
> x$Combi <- interaction(x$Age, x$Sex ,drop = TRUE)
> x
  Age Sex Data Combi
1  20   F    1  20.F
2  20   M    2  20.M
3  30   M    3  30.M
4  30   F    4  30.F
5  30   F    5  30.F

因子の組み合わせの中に,該当データがない場合は注意

_ rgl パッケージを利用しようとしたらエラーが

configure: error: missing required header GL/gl.h
freeglut3, freeglut3-dev, libgl1-mesa-dev, libglu1-mesa-dev, 
mesa-common-dev,xlibmesa-gl-dev 

を追加する.

_ RでCairo

久しぶり Ubuntu で Lattice グラフを作成しようとしたら

semi-transparency not supported on device 

のメッセージ.R-2.9.0 から Cairo 周りが強化されたためか.慌てて Cairo 関連のライブラリ libcairo2 など追加.

sudo apt-get install libcairo2-dev
sudo apt-get install libxt-dev

R もコンパイルし直した.

_ Ubuntu 9.04 + ghostscript8.64 で eps に日本語

Ghostscrip がバージョンアップするたびに,設定の調整が必要になる...

ghostscript設定など、奥村さんのページが参考になった。 ほかにこことここR_font.size

Ubuntu 9.04

gs-cjk-resource
cmap-adobe-japan1
cmap-adobe-japan2

をインストールし、また cidfmap は作成しないで

grDevices::X11.options
 (fonts = 
   c("-vlgothic-gothic-medium-r-normal--*-*-*-*-*-*-jisx0201.1976-0", 
  "-adobe-symbol-*-*-*-*-%d-*-*-*-*-*-*-*"))

ps.options(family= "Japan1GothicBBB")

# あるいは

ps.options(family= "Japan1Ryumin")
plot(1:10, 1:10, main ="テスト", cex = 1.2)
dev.copy2eps(file = "~/Document/tmp/test.eps")

で OK

あるいは

ps.options(family= "Japan1")# HeiseiKakuGo-W5
plot(1:10, 1:10, main ="テスト", cex = 1.2)
dev.copy2eps(file = "~/Document/tmp/test.eps",
                    family= "Japan1GothicBBB")

_ RExcel

_ 順列

&mimetex({13}_P_{3}); デフォルトでは関数がない

prod(1:13) / prod(1:10)

では、まだ gamma() 関数を使って計算していたけど、factorial()関数が、確か R-1.9 ぐらいから実装されたので、prod(1:13)は factorial(13)でもいい。

_ 組み合わせ

&mimetex({13}_C_{3});

prod(1:13) / (prod(1:3) * prod(1:10))

これは

choose(13,3)

がある. 一昔前のRでは、問題あって使えなかった関数だったと思うが、今は問題ないのかな。

_ pnbinom

_ Lattice_levelplot_points

_ S4Class

_ ESS

Mac 版 ESS で R を起動したらローケルが C になっている. emacs.elに以下を追記したら,日本語で起動できた.しばらく Mac でESS を使っていなかったのだが,以前は,以下2行はなくとも日本語モードで起動したような気がするのだが.

(set-locale-environment "utf-8")
(setenv "LANG"  "ja_JP.UTF-8")

ついでに ESS 上では

options(device = "quartz")

と指定する..Rprofile の設定も見直す.

_ R_epsフォント設定

_ フォント設定

R_font.sizeも参照

X11.options(fonts=c("-ipamona-gothic-medium-r-normal--0-0-0-0-m-0-jisx0212.1",
"-adobe-symbol-*-*-*-*-%d-*-*-*-*-*-*-*"))
ps.options(family= "Japan1")

####

X11.options(fonts=c("-misc-vl gothic-medium-r-normal--%d-*-*-*-*-*-jisx0201.1976-*",
   "-adobe-symbol-*-*-*-*-%d-*-*-*-*-*-*-*"))

ps.options(family= "Japan1Ryumin")

_ R_Primitive

_ R_iconv

_ R_reshape

_ Rで正規表現

_ R文字コード変換

_ 平方和の違い

_ R_order

_ R_Mixed-Effects_model

_ readRegistry

_ sapplyの使い方

_ Rのスコープと環境R_scope_environment

_ チルダ演算子 R_tilde

_ Rによる潜在意味インデキシング R_lsa

_ R_cosine距離

_ トレリス・グラフィックスパラメータの取得R_trellis.par.get

_ R_Lattice

_ Power PC 版 Mac 用パッケージ R_PowerPC

_ 二度を超えるセーブバージョンの使用廃止予定です

_ パッケージの作成 Rpackage_build

_ R-2.8.1のインストール

パッケージのインストールのたびに tcl のウィジェットが起動するのはうっとうしいので,次のようにコンパイルした.

./configure --without-tcltk

_ 多重ロジットモデルの結果の解釈方法

_ サンプルを二つに分ける方法

_ 作業中にパッケージを取り外すには

detach(package:MASS)

_ 正規分布とT分布の比較の話で

_ ローケルの確認

_ R_GGobi

_ R_ファイル処理

_ Rで漢字を読み方順に並べる RdeKanjiSort

_ R_rownamesとrow.names関数

_ R_source関数

_ eval()関数とparse()関数

_ R_文字を要素とするベクトルを結合する

_ パッケージを引用したい時

citation("hoge")

_ RjpWikiのRでグラフ理論

_ 横(列)に変数を取った横型データを縦型データフレームに変換

_ 効果を表す母数を識別するための制約

については:松田 紀之 著『質的情報の多変量解析』 の効果項の推定効果ベクトルβ, デザイン行列 X の構成,あるいはここの資料33ページをみるように.

_ R_winBUGS_structure

_ 資料:RでBayesの基礎 jags

_ 資料:RでBayesの基礎 ポアソン回帰

_ 長さが100のベクトル生成

_ xaxt_yaxt_パラメータと正規分布の図

_ RCaBoCha_make の作成

_ C++ソース内でベクトルの欠損値を見つけ出す方法

_ 因子と水準

_ 水準の再構成

_ R_カテゴリを融合する

_ R_データのカテゴリ化

_ R_ファクターの削減

_ 水準の順序化

_ 同じカテゴリには同じ色を使いたい

_ R_Alphabet

_ R_Tcl/TK

_ R_Cut関数の使い方

_ C++のソース側で文書行列の作成まで行ってしまう

_ C++のソースからRにMatrixを返す

_ R_CMD_check

_ R-2.7.0 で日本語を含んだ文字をプロット

_ 関数の表示のさせ方.忘れてた.

> methods(biplot) # で確認して
> getS3method("biplot", "default") 任意のメソッドを表示

_ R_列名が異なる二つのデータフレームを一つに統合

_ バイプロット R_biplot?

_ R_名前付きベクトルから名前を取る: as.vector() を使えば良い

_ R_文書ターム行列作成

_ R_Cソースでデータフレームを生成

_ R_Cソースで文字ベクトルを生成

_ Rパッケージ作成

_ 順序制約のあるカテゴリカルデータの扱いについては粕谷先生三中先生のサイトに説明がある

_ Rでベクトルの要素を別の集合の要素と比較する

_ Rで対応分析を実行する簡単な例 filecorresp.R

_ R_ftable関数の出力からラベルを取り出す

_ R_二値の集計

_ R_font.size

_ R_ftableの属性

_ R_列名で列を削除する

_ Rでパッケージ作成

_ Rでリスト処理

_ 小技

_ 日本語形態素解析,和布蕪とのインターフェイス

_ RへCからリスト

_ RへCから文字列

_ Rと和布蕪

_ dim()関数が必要となる場面

_ RでBayes

_ Rでstring_Kernel

_ R_lsaで日本語

_ R_tokenizer

_ Rでコンコーダンサー

_ sprintf関数

は,ループ内ではさらに cat しないと出力しない模様

_ Rの正規表現

_ R_tmパッケージの使い方

_ R_Plot_Marginの処理

_ R_Sweave?

_ R_対数線形モデル

_ R_片側検定

_ R_複数のページに渡るグラフィックス

_ 語彙の成長曲線を描く lnre() 関数

_ R_lines

_ R_頻度区間調整

_ 調整済みRが大きくとも残差からモデルが否定される例

_ R_回帰分析とbreakpoint

_ R_Designパッケージ

_ R_SupportVectorMachines

_ ベクトルのリサイクル R_VectorRecyle

_ R_ClassificationAndRegressionTrees

_ R_Divisive_Clustering_diana関数とnj関数

_ R_Baayen

_ R_prcomp_proportion

_ R_2変量正規分布

_ R_コントラスト

_ R_4次元配列

_ R_二元配置モデルでの summary.lm のパラメータの意味

_ hidden_R_ESS

_ Macでのコンパイルオプション

_ 小技

_ 時間の取得

substring(Sys.time(),0,10)

_ 列に NA があるかをチェック

x <- c(1,3,NA,5,NA)
any(is.na(x))
which(is.na(x))
x[which(is.na(x))]
any(is.na(data$x))
data$x[which(is.na(data$x))] # それはどこ
# こんな風に書いてみても良いかな
ifelse(any(is.na( data$x )), which(is.na( data$x )), "not found")

_ 正規化された行列からの距離行列の作成

 sqrt(2 * (1 -   X %*% t(X) ) ) # 『Rで学ぶクラスタ解析』p.75より

_ anticonservative

p-value が小さすぎと... Baayen p.248

_ Rについての古いメモ

不適切な記述がかなり残っていると思われる.

お気づきの点がありましたら管理者へご連絡下さい