R_fromOldHtml1_2 のバックアップ(No.1) - アールメカブ

アールメカブ


R_fromOldHtml1_2 のバックアップ(No.1)


R_fromOldHtml1

_ LaTeX でテーブル 1

 library(xtable)
 x<- matrix(1:24,4,6)
 mytable<- xtable(x)
 print(mytable)

_ LaTeX でテーブル 2

RjpWiki を参照

_ 行列のランクを求める。

 qr(X)$rank # 舟尾 p.61

_ ベクトルのノルム

渋谷 柴田 p.37

 norm   if(p=="inf") return (max(abs(x)))
   sum(abs(x)^p)^(1/p)
 }

これは sqrt(t(x) %*% x) に等しい。

_ read.csv 読み込み時に変数名を付加する

例えば,以下のようにする場合

 #x<- read.csv("anborgia.nr.csv",header=F,row.names=1);x
 # colnames(x)<- c("line");x

以下のように実行しても構わない。ただし元データが2列で,その一列目を行名と指定している。 その関係で,col.namesの引数は二ついる。

 x<- read.csv("anborgia.nr.csv",
 header=F,row.names=1,col.names=c("","line1"));x

_ 生データから頻度表を作成し,適合度の検定を行なう

まず

 > jena > jena
      freq
 1      15
 2      10
 3      21
 4      20
 5      30
 ...
 > kanzel > kanzel
     freq
 1     19
 2     38
 3      4
 4     23
 5     29
 ...
 table( factor(cut(buntyo$V1, 
     breaks=c(0, 5, 10, 15, 25, 35, 40))) )

などとする. ここでは 0 より大きく 5 以下,5 より大きく10以下,などを区間としている.

としてデータを読み込み,これに頻度カテゴリを表す列を追加する。

 tb jena$fac 
 > jena
      freq     fac
 1      15 (11,16]
 2      10  (6,11]
 3      21 (16,22]
 4      20 (16,22]
 5      30 (22,31]
 ...
 > kanzel
     freq     fac
 1     19 (16,22]
 2     38 (31,92]
 3      4   (0,6]
 4     23 (22,31]
 5     29 (22,31]

ここで table(kanzel$jena)とすれば,各カテゴリの頻度が求める。

さて,ここでこの二つの頻度について適合度の検定を行なうには,

 test chisq.test(test)

とする。

_ 図に凡例を付記する

legend(x軸, y軸, ラベルの指定, fill= 色の指定, pch = シンボル | lty = 線種)

 labs cols mypch 
 legend(7, 10, labs, pch = mypch, col=cols)

x,y 軸は locator(1)として調べれば良い。あるいは引数として与える。

 [[John Fox:http//socserv.mcmaster.ca/jfox/]], p.138
 legend(locator(1), c('high', 'low'), 
     lty = c(1,3), lwd =c(3,3), pch = c(19,1))

[[Wood Generalized Additive Models:]http//www.amazon.co.jp/Generalized-Additive-Models-Introduction-Statistical/dp/1584884746/], p.36

 legend("topright", legend = levels(water$location), 
   pch = c(1,2), bty = "n")

S-Plus であれば,marks 。

_ 重複を取る

例:/home/ishida/research/corpus/file.old/bak/file/writers19.R を参照 ここで unique は重複を取る。

 legend(-4.3, 4.5, unique(writers.name),
   fill=(as.integer(unique(writers.name))), text.width=1)

_ 行列・配列の特定の次元を軸にあるベクトルを順に操作する、関数 sweep()

 > x = matrix(1:16, 4,4)
  > x
       [,1] [,2] [,3] [,4]
  [1,]    1    5    9   13
  [2,]    2    6   10   14
  [3,]    3    7   11   15
  [4,]    4    8   12   16
  > y= 1:4                  # sweep されるベクトル
  > sweep(x,1,y)            # x の各列から y を引き去る(既定動作) 
       [,1] [,2] [,3] [,4]
  [1,]    0    4    8   12
  [2,]    0    4    8   12
  [3,]    0    4    8   12
  [4,]    0    4    8   12  
  > sweep(x,2,y)            # x の各行から y を引き去る(既定動作) 
       [,1] [,2] [,3] [,4]
  [1,]    0    3    6    9
  [2,]    1    4    7   10
  [3,]    2    5    8   11
  [4,]    3    6    9   12
  > sweep(x,1,y, "*")       # x の各列に y を掛ける 
       [,1] [,2] [,3] [,4]
  [1,]    1    5    9   13
  [2,]    4   12   20   28
  [3,]    9   21   33   45
  [4,]   16   32   48   64

_ updateの使い方 2005 /06 /04

例えば

 writers.lda table(writers$writer,predict(writers.lda)$class)

と解析した結果と,und を取り除いた結果

 writers.lda.und table(writers$writer,
       predict(writers.lda.und)$class)

を比較する。なお以下はエラーとなる

 #writers.lda.step #anova(writers.lda , writers.lda.und)

_ 判別分析における交差妥当化 2005/06/04

例えば

 writers.lda #table(writers$writer,writers.lda$class) エラー
 table(writers$writer,predict(writers.lda)$class)
 #cross validation
 writers.lda.cv CV=T)
 table(writers$writer,writers.lda.cv$class)
 #table(writers$writer,predict(writers.lda.cv)$class) エラー

_ グラフに直線を引く 2005 / 06 / 14

 plot(x ~ y)
 kaiseki.lm(x ~ y)
 abline(kaiseki.lm[1,1], kaiseki.lm[3,1])

として切片,傾きを指定しても,また

 abline(kaiseli.lm)

とするのも可能。

_ 分散分析の結果に summary.lm を実行 2005/06/15

Crawely p.163 分散分析で,平均値に差があるかを確認し,さらに,要因レベルの効果差を見るには,

 summary.lm(aov(ozone ~ garden))

などを実行する。

_ quartile と quantile percentile の使い分け 2005/06/15

Dalgaard p.58

Crawely p.197

_ Boxplot での notch=T オプション 2005/06/15

Crawley S-PLUS p.167

_ treatment.control の見方 2005/06/16

Crawley Statistics Using R p.174, Crawley S-PLUS p.287 treatment.control では,各要因の各レベルの効果を, その要因の切片(基軸)であるレベルと比較して判断する。 したがって,基軸以外のレベルの相互の有意差は表示されていない。

基軸以外のレベル相互の比較 要因Aと他要因 BCD全体との差,BCD 内の差を一度に検定 2006 03 20

John Fox, p.142 - 143.

他にここ

_ loglin2 2*2 分割表の Likelihood ratio を求める

始めに ここを参照 こことここも またここも meyer p.132 の例より

      lessWords moreWords
 USA         57         2
 Phil        71        12
 NZ          66        16
 GB          23         0
 meyerP.132 dimnames(meyerP.132) 
 model0 summary(model0)
 # anova(model0) # これは用意されていない
 model1 summary(model1)
 model1$lrt
 #P値は
 1- pchisq(model1$lrt, model1$df)
 1- pchisq(model1$pearson, model1$df)

_ コレスポンデンス分析

R multiv パッケージのコレスポンデンス分析で出力される 行座標 $rproj, 列座標 $cproj はデフォルトでは,求められた x,y に単相関係数を乗じている。(言い方を変えると,固有値を平方根を乗じている) 参照 高橋信「Excelによるコレスポンデンス分析」, p.127

/home/research/statistics/correspondence.R を参照

 #高橋信「Excelによるコレスポンデンス分析」
 Z               13,8,15,16,
               18,11,14,8), ncol=4, byrow=T)
 #行ラベルとして使用する第1列をrowvarに代入
 Z.rowvar<- c("M","H","C")
 #rowvarの値を行ラベルとして読み込む
 Z.colvar 
 rownames(Z) colnames(Z) 
 > Z
    A  B  C  D
 M 10 19 13  5
 H 13  8 15 16
 C 18 11 14  8
 Z.diagC #> Z.diagC
 #     [,1] [,2] [,3] [,4]
 #[1,]   41    0    0    0
 #[2,]    0   38    0    0
 #[3,]    0    0   42    0
 #[4,]    0    0    0   29
 #>
 Z.diagR #> Z.diagR
 #     [,1] [,2] [,3]
 #[1,]   47    0    0
 #[2,]    0   52    0
 #[3,]    0    0   51
 #>
 Z.diagR.sqrt #         [,1]     [,2]     [,3]
 #[1,] 6.855655 0.000000 0.000000
 #[2,] 0.000000 7.211103 0.000000
 #[3,] 0.000000 0.000000 7.141428
 #>
 Z.solve Z.eigen 
 #$values
 #[1] 1.00000000 0.07629421 0.01828369
 #$vectors
 #           [,1]        [,2]       [,3]
 #[1,] -0.5597619  0.74374060  0.3653992
 #[2,] -0.5887841 -0.66725782  0.4561802
 #[3,] -0.5830952 -0.04021102 -0.8114081
 #>     
 #            [,1]      [,2]      [,3]
 #  [1,] 0.3579767 0.2947642 0.3186919
 #  [2,] 0.2947642 0.3844402 0.3385965
 #  [3,] 0.3186919 0.3385965 0.3521610
 # 固有値 1 と,対応する固有ベクトルは仮定
 # 平均0,分散1に反する
 # p.121 # x, y が求まる,以下はxのみ
 Z.kai.X      [,1]        [,2]       [,3]
 [1,]   -1  1.32867325 -0.6527762
 [2,]   -1 -1.13328105 -0.7747835
 [3,]   -1 -0.06896133  1.3915534
 # 以下は Y のみ
 Z.kai.Y #              [,1]
 #  [1,] -0.23728726
 #  [2,]  1.46910930
 #  [3,] -0.05964337
 #  [4,] -1.50318462
 Z.kai.Y #             [,1]
 #  [1,]  1.5238380
 #  [2,] -0.6410599
 #  [3,] -0.1102451
 #  [4,] -1.1547168
 # 固有値の平方根 は単相関係数
 sqrt(Z.eigen$values)
 # [1] 1.0000000 0.2762141 0.1352172
 # p.127
 Z.kai[,2] * sqrt(Z.eigen$values)[2]
 # [1]  0.36699824 -0.31302816 -0.01904809
 Z.kai[,3] * sqrt(Z.eigen$values)[3]
 # [1] -0.08826657 -0.10476405  0.18816195
 #(solve(Z.diagR.sqrt, sqrt(150) * Z.eigen$vectors)) 
    %o% sqrt(Z.eigen$values)
 > library(multiv)
 > Z.results> Z.results
 $evals
 [1] 0.07629421 0.01828369
 $rproj
          Factor1     Factor2
 [1,]  0.36699824 -0.08826657
 [2,] -0.31302816 -0.10476405
 [3,] -0.01904809  0.18816195
 $cproj
          Factor1     Factor2
 [1,] -0.06554208  0.20604911
 [2,]  0.40578865 -0.08668233
 [3,] -0.01647434 -0.01490704
 [4,] -0.41520073 -0.15613757
 $rcntr
          Factor1   Factor2
 [1,] 0.553150080 0.1335166
 [2,] 0.445232993 0.2081003
 [3,] 0.001616926 0.6583831
 $ccntr

_ 図の保存 eps 形式 2005 06 24

 dev.copy2eps(file="log.eps")

_ 対数尤度比をコーパスで求める場合 2005 07 01

Dunning の式は,Oakes p.172 にまとめられている。必要となるのは a,b,c,d,と 当該コーパスにおける総語数 N (結局 a+b+c+d に等しい)。

a = あるキーワードにたいして設定したスパンの内部に,その共起語が現れた回数 b = キーワードにたいして,その共起語以外の語がスパンに現れた回数 c = キーワード以外の語にたいして,その共起語がスパンに現れた回数 d = キーワード以外の語にたいして,その共起語以外の語が現れた回数

_ 東大「人文社会科学の統計学」,飽和モデル,独立モデル 2005 07 13

始めに ここを参照 こことここも またここも &aname: Invalid ID string: social.mobility2; データは東大「人文社会科学の統計学」 p.277

 social.mobility2<-
 array(c(
         517, 244, 250,
         152, 351, 328,
         7, 13, 140,
         441, 159, 272,
         130, 227, 351,
         24, 21, 268
         ),
       dim = c(3,3, 2),
       dimnames =
       list(
            father = c("white","blue","agri" ), # = c(1)        
            child = c( "white","blue","agri"),  # = c(2) 
            year= c("1985", "1975")             # = c(3) 
            )
       )
 class(social.mobility2 )<- "table"
 ftable(social.mobility2)
 library(MASS)

# 以下は,3次の効果を外した同時独立モデルだが,ここに有意差は無い。すなわち year の効果は無い。

# 3次の効果を含めた飽和モデルは,自由度ゼロなので必ず適合する。p. 271

 social.mobility2.loglm3<- loglm(~father + child + year + 
   father:child + father:year + child:year, 
   data=social.mobility2)
 anova(social.mobility2.loglm3, test="Chisq")

同じことだが,以下でもよい

 social.mobility2.loglm3<- loglm(social.mobility2,  
  list(c(1), c(2), c(1,2), c(2,3), c(1,3)))
 1 -pchisq(kekka$lrt,kekka$df)# 
 1 -pchisq(kekka$pearson,kekka$df)#

# 東大「人文社会の統計学」 p.276

# log m = u... + ui.. + u.j. + u..k + uij. + ui.k + u.jk (9.33)

# ここで uij. ui.k u.jk がそれぞれ,father:child, father:year, child:year

# を表しているが

# uijk (p.276下から12行目), すなわち father:child:year

# は含まれていないモデル

# なお u... は全体平均 grandmean は暗黙のうちに含まれる

# ui.. 行平均 u.j. 列平均 u..k 軸平均は それぞれ要因 father, child, year

# を指定して含まれる

_ 分散分析での母数モデル,変量モデル,混合モデル(豊田秀樹) 2005 07 27

S-Plus での混合モデルの構築 Crawley p.673 -

ちなみに

 # p.678
 lmedata3.model2 で。
 random=~1|Genotype 

は Genotype の intercepts をランダム要因と見なす指定, p.678

# 豊田秀樹 違いを見抜く統計学 p.120, p.127, toyoda.Bunsan.R を参照

 p120<- data.frame(type = rep(c("sea","mount"), each = 8), 
 develop = rep(rep(c("old","new"), c(4,4)),2)  , 
 region = rep(c("izu","kuju","karui","yatsu"), each=4), 
 price = c(18.0, 15.0, 12.0, 20.7, 7.6, 12.3, 15.0, 15.2, 
 11.7, 11.6, 14.5, 15.4, 7.8, 7.5, 4.2, 6.4))
 #p120<- data.frame(type = rep(c("sea","mount"), each = 8), 
 develop = rep(rep(c("old","new"), c(4,4)),2)  , 
 price = c(18.0, 15.0, 12.0, 20.7, 7.6, 12.3, 15.0, 15.2, 
 11.7, 11.6, 14.5, 15.4, 7.8, 7.5, 4.2, 6.4))
 #> p120
 #    type develop region price
 #1    sea     old    izu  18.0
 #2    sea     old    izu  15.0
 #3    sea     old    izu  12.0
 #4    sea     old    izu  20.7
 #5    sea     new   kuju   7.6
 #6    sea     new   kuju  12.3
 #7    sea     new   kuju  15.0
 #8    sea     new   kuju  15.2
 #9  mount     old  karui  11.7
 #10 mount     old  karui  11.6
 #11 mount     old  karui  14.5
 #12 mount     old  karui  15.4
 #13 mount     new  yatsu   7.8
 #14 mount     new  yatsu   7.5
 #15 mount     new  yatsu   4.2
 #16 mount     new  yatsu   6.4
 attach(p120)

交互作用を含んだモデル,交互作用棄却後のプーリングモデル

 p120.aov<- aov(price ~ type * develop)
 summary(p120.aov)

p.123と同じ出力# 豊田秀樹 違いを見抜く統計学 p.120, p.127 type develop の結果だけ見れば,プーリングした結果と同じ(p.123下)

              Df  Sum Sq Mean Sq F value   Pr(>F)   
 type          1  84.181  84.181 10.1788 0.007769 **
 develop       1 115.026 115.026 13.9084 0.002877 **
 type:develop  1   8.556   8.556  1.0345 0.329170   
 Residuals    12  99.242   8.270    
 summary.lm(p.120.aov)
 > 84.181 / 8.270
 #  AB の平均平方ではなく,誤差の平均平方で割っている, p.108
 [1] 10.17908
 > 115.026 /  8.270 
 [1] 13.90883
 > 1 -  pf(10.1788, 1, 12)
 [1] 0.007769413

交互作用を変量としたモデル,反復測定

 p121.aov  = aov(price ~ type + develop + Error(type/develop))
 summary(p121.aov)

p.121 と同じ出力 母数因子だが,一つの標本から繰り返し測定した すなわち,交互作用は変量モデル

  Error: type:develop
           Df  Sum Sq Mean Sq F value Pr(>F)
 type       1  84.181  84.181  9.8392 0.1965
 develop    1 115.026 115.026 13.4444 0.1695
 Residuals  1   8.556   8.556               
  Error: Within
           Df Sum Sq Mean Sq F value Pr(>F)
 Residuals 12 99.242   8.270

ネストを仮定したモデル

 p127.aov summary(p127.aov)
  p.127 と同じ出力

すなわち,地域はタイプにネストしている

 Error: region:type
           Df  Sum Sq Mean Sq F value Pr(>F)
 type       1  84.181  84.181  1.3624 0.3635
 Residuals  2 123.581  61.791               
 Error: Within
           Df Sum Sq Mean Sq F value Pr(>F)
 Residuals 12 99.242   8.270

ここで

  > 61.791 /  8.270
  > 1 - pf(7.471705 , 2, 12)
  [1] 0.007804986

三段のネストを仮定したモデル これは上の2段ネストと同じ結果になっている p.157 とは異なり,残差が二つに分離されていないx

 p.157.aov > summary( p.157.aov )
 Error: region:type
           Df  Sum Sq Mean Sq F value Pr(>F)
 type       1  84.181  84.181  1.3624 0.3635
 Residuals  2 123.581  61.791               
 Error: Within
           Df Sum Sq Mean Sq F value Pr(>F)
 Residuals 12 99.242   8.270              

また crawley, S-Plus, p.213下を参照。

 p120.aov # = aov(price ~ type/develop)
 # = aov(price ~ type/develop + Error( type/develop))
 summary(p120.aov)
 #
 # p.127 と同じ出力
 #
 #            Df  Sum Sq Mean Sq F value   Pr(>F)   
 #type         1  84.181  84.181 10.1788 0.007769 **
 #type:region  2 123.581  61.791  7.4715 0.007806 **
 #Residuals   12  99.242   8.270
 #anova(p120.aov) #Error
 #
 #             Df  Sum Sq Mean Sq F value   Pr(>F)   
 #type          1  84.181  84.181 10.1788 0.007769 **
 #develop       1 115.026 115.026 13.9084 0.002877 **
 #type:develop  1   8.556   8.556  1.0345 0.329170   
 #Residuals    12  99.242   8.270    
 #summary.lm(p120.aov)
 #> 84.181 / 8.270 
 # AB の平均平方ではなく,誤差の平均平方で割っている, p.108
 #[1] 10.17908
 #> 115.026 /  8.270 
 #[1] 13.90883
 #> 1 -  pf(10.1788, 1, 12)
 #[1] 0.007769413
 # エラ−モデル 1
 p120.aov summary(p120.aov)
 #
 # p.121 と同じ出力
 #
 #Error: type:develop
 #          Df  Sum Sq Mean Sq F value Pr(>F)
 #type       1  84.181  84.181  9.8392 0.1965
 #develop    1 115.026 115.026 13.4444 0.1695
 #Residuals  1   8.556   8.556               
 #Error: Within
 #          Df Sum Sq Mean Sq F value Pr(>F)
 #Residuals 12 99.242   8.270
 # エラ−モデル 2
 p120.aov summary(p120.aov)
 #
 # p.127 と同じ出力
 #
 #Error: region:type
 #          Df  Sum Sq Mean Sq F value Pr(>F)
 #type       1  84.181  84.181  1.3624 0.3635
 #Residuals  2 123.581  61.791               
 #Error: Within
 #          Df Sum Sq Mean Sq F value Pr(>F)
 #Residuals 12 99.242   8.270
 # ネストモデル
 p120.aov summary(p120.aov)
 #
 # p.127と同じ出力
 #
 #            Df  Sum Sq Mean Sq F value   Pr(>F)   
 #type         1  84.181  84.181 10.1788 0.007769 **
 #type:region  2 123.581  61.791  7.4715 0.007806 **
 #Residuals   12  99.242   8.270
 #anova(p120.aov) #Error

_ 対数尤度を求める関数 2005 08 01

logLik, (crawley, S-Plus, p.121)

_ リストへのアクセス 2005 08 03

 test 
 > test
 Error: factory
           Df Sum Sq Mean Sq F value Pr(>F)
 Residuals  6 260.70   43.45               
 Error: Within
           Df  Sum Sq Mean Sq F value Pr(>F)
 treats     4   8.324   2.081  0.4637 0.7617
 Residuals 24 107.704   4.488  

以上のリストで,Error の F value にアクセスするには

  summary(aov(rate ~ treats + 
       Error(factory)))[[2]][[1]]$"F value"[1]

と実行する。

Crawely.S.plus.R を参照

 > 
 d for(j in 1:1000){
   treats   for(i in 1:7) treats   treats   d[j] }

_ グラフィックス表示を一枚ずつ見る 2005 08 05

 par(ask=TRUE) 

_ 共分散分析, Ancova モデル式におけるアスタリスク 2005 08 08, 2006 01 11

difference in the slop は 交互作用の項を見る。

Crawley S-PLUS p.295

covariate については p.293

Crawley S-PLUS p.216, p.341

w が sex カテゴリーの変数,x が連続量の変数の場合

 y ~ w * x

は,w の二つのカテゴリそれぞれに回帰式(intecept と slope) regression slope を推定しろという命令となる。

John Fox p.126

_ [S] EES の評価途中にスペースがある

式に改行やスペースが挟間っていると,そこで処理が止まってしまう。

_ [S] ESS で操作中で画像の選択がある

例えば plot を含めて,式を一括評価する時

 par(ask=T)

と設定した後だと,yes か no の答えを得ることができないので,そこで止まってします。

_ データの並び替え

Crawley S-PLUS p.417のデータならば

 > fishery
            xv         yv 
  1 13.9885004 4.56836585
  2 89.7028342 0.29710071
  3  9.3151971 3.90699292
  4  9.2132163 4.38109971
  5 34.7017719 1.85936367

のようなデータフレームならば

 fishery[order(fishery$xv),]

とすれば,xv の昇順にデータが整列する。

_ [S] 内積とノルム 2005 08 23

 a b 

内積は

 t(a) %*% b

としても

 sum(a * b)

としても良い。

ノルムは

 vecnorm(a), vecnorm(b) で求めるか
 mynorm   if(p=="inf") return(max(abs(x)))
   sum(abs(x)^p)^(1/p))
 }

で求める。

_ adj の設定 2005 08 25

research/tex/p2005/2005/dunne.R より

 text(E.normalized.B.dunne2[1, 
   E.normalized.B.dunne2[2,] > 0.0],
   E.normalized.B.dunne2[2, E.normalized.B.dunne2[2,] > 0.0],
   adj=c(1.5,-.5), labels=( colnames(
   E.normalized.B.dunne2[, E.normalized.B.dunne2[2,] 

adj=c(X,Y) X を正にすると,点は左に,Yを正にすると点は下に移動

_ 負の2項分布 2005 08 30

Crawley S-PLUS p.483

例えば 成功率 0.6, 成功までの試行数が 5 として(すなわち6回目に成功), 100回の試行を行なう。

 count 
 table(count)
  0  1  2  3  4 5 6 7 8 9 
  8 13 20 19 18 7 9 3 2 1

この場合 失敗無しで5回の成功が出た試行が 8 回 失敗 1 で5回の成功が出た試行が 13 回 あるのを意味する。

# 2006 07 24 追加

工学のためのデータサイエンス, p.49 - p.50

R の関数 _nbinom の引数 size, prob は

平均 mean が 'size * (1 - prob)/prob' を満たし,また 確率 prob が 'scale/(1 + scale)' を満たすように取られる

 d <- p(0, 1612), rep(1,164), rep(2,71), rep(3,47), 
  rep(4,28), rep(5,17),    rep(6,12), rep(7,12),
  rep(8,5), rep(9,7), rep(10,6), rep(11,3), rep(12,3),
  rep(13, 13))
 mean(d) # = 0.6005
 var(d) # = 3.262531
 prob = 0.1155 * (1 - 0.1553) / 0.1553
       # =  0.6282218 = size *(1 - prob)/prob
 scale = 0.1838523 / ( 1 + 0.1838523)
       # = 0.1553 =  scale/ (scale + 0.1553)

_ lm, glm オブジェクトの summary における t 検定,z 検定 2005 09 02

S-Plus では t 値が,R では z 値がデフォルト Crawley S-PLUS p.534

Crawley S-PLUS S-plus.R, p.534

また S-Plus では,lm の出力は Pr(|t|) を出力するが,glm ではデフォルトでは出力されない。

_ rgl.bbox の引数 2005 09 02

 rgl.bbox(color="#999999", emission="#FFA500",
   specular="#FFF0F5",  shinines=5,alpha=0.8)

color="#999999" は座標の数値ラベル色 emission="#FFA500" はボックスの壁の色 specular="#FFF0F5" は明るさ,数値が大きいほど明るい shinines=5 は反射の具合

_ 関数グラフの書き方 2005 09 19

 x y plot(x,y,type="l")

同じことだが

 curve((x^2 - 6*x + 10), 0,6)

_ 2項分布を Poisson 分布で近似する 2005 09 28

例えば2項分布で,0.00001 で成功する賭けを 100000 回行なった時, ちょうど20回成功する確率は

  pbinom(20, 100000, .0001) - pbinom(19, 100000, .0001) 
 [1] 0.001865335

これをポアソン分布で近似するには

  ppois(20, 10) - ppois(19, 10)
 [1] 0.001866081

_ データフレームのコピー 2005 10 08

John Fox p.63 - 64

 > search()
[1] ".GlobalEnv"    "package:car"       "package:methods"  
[4] "package:stats" "package:graphics"  "package:grDevices"
[7] "package:utils" "package:datasets"  "Autoloads"        
10] "package:base"     
 > cooperation
 エラー:オブジェクト "cooperation" は存在しません
 > attach(Guyer) # Guyerデータには変数 operationがある
 > objects()
[1] "Guyer"        "hump.data"    "hump.model"   "last.warning"            
 > cooperation
  [1] 49 64 37 52 68 54 61 79 64 29 27 58 52 41 30 40 39 44 34 44
 > cooperation > objects()新たに変数 cooperation が作成されている
 [1] "Guyer"        "cooperation"  "hump.data"    "hump.model" 
 > rm(cooperation)# 新たに作成された cooperation を消し
 > cooperation[1] Guyer変数のcooperation[1]を変更したつもりでも
 > objects()実際にはコピーができている
 [1] "Guyer"        "cooperation"  "hump.data"    "hump.model" 
 > rm(cooperation)
 > objects()
 [1] "Guyer"        "hump.data"    "hump.model"   "last.warning" 

_ png などの画像への保存 2005 11 09

始めに

 png(file="gazo.png") #として device を平き
 polt(y ~ x) # として画像を作成し
 dev.off() # として device を閉じる。

ここで始めて保存される。

_ 標準誤差 2005 12 02

標準誤差とは,平均値の推定値の範囲 標準偏差とは,データが平均を中心にどれだけばらついているかの目安

_ Boxplot の notch の解釈 2005 12 23

Boxplot の箱は 75 - 25 %タイルを示しているが,あるデータのこの範囲が,他のデータの平均値と重なっていない場合,二つのmedian は有意に異なる。Tukey による

Crawley Statistics Using R p.167

_ [S] 関数内で式を表示させない 2005 12 24

関数内では,付置の式以外は表示される。 特に print 文では注意が必要である。 これを防ぐため,invisibleを使う。

Crawley S-PLUS p.35 渋谷,柴田 p.34

_ [S] S-plus + ESS 環境でのヘルプ 2005 12 24

キーワードにカーソルを合わせ,C-c C-v で表示させる。 ?キーワードでは表示されない