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

アールメカブ


R_Lattice のバックアップ(No.3)


Rの備忘録

Lattice 翻訳メモ

  • テキスト p.41 コードをそのまま実行すると次のグラフが作成される.
    lattice43.png
    data(Chem97, package = "mlmRev")
    qqmath(~ gcsescore | gender, Chem97, 
            groups = score, aspect = "xy",  
            f.value = ppoints(100),
             auto.key = list(space = "right") ,
            xlab = "Standard Normal Quantiles", 
            ylab = "Average GCSE Score")

しかし,掲載されているのは次のような図(ただし白黒)

lattice43T.png
pch.col <- sort(unique(Chem97$score)) + 1 

key.list <- list( space = "right",  
    text =  list(as.character(pch.col-1) ) ,  
     points = list(pch = pch.col, col = 1:6  ) )

qqmath(~ gcsescore | gender, Chem97, 
        groups = score, aspect = "xy",  
        f.value = ppoints(100),  pch = pch.col ,
        col = 1:6,    key = key.list, 
        xlab = "Standard Normal Quantiles", 
        ylab = "Average GCSE Score")

Baayen にも同じように,掲載コードとグラフが,R-2.8.1 で再現できない例がある.

library(languageR)
affixes.pr = prcomp(affixProductivity[,
   1:(ncol(affixProductivity)-3)])
library(lattice)
super.sym = trellis.par.get("superpose.symbol")
splom(data.frame(affixes.pr$x[,1:3]), 
groups = affixProductivity$Registers, 
panel  = panel.superpose,
 key    = list(
 title  = "texts in productivity space",
 text   = list(c("Religious", "Children", 
 "Literary", "Other")),
points = list(pch = super.sym$pch[1:4],
col = super.sym$col[1:4])))
dim(affixes.pr$rotation)
affixes.pr$rotation[1:10, 1:3]   

key リスト points をみると,super.sym$pch[1:4] という指定があり,これは記号をカテゴリごとに変更するつもりなのだろうが,デフォルトのR_trellis.par.get の出力は

$pch
[1] 1 1 1 1 1 1 1

なので,記号はすべて 1,つまり○に決まっている.

points = list(pch = super.sym$pch[1:4],

の部分を

points = list(pch = 1:4

とすれば,テキスト記載の図になるが,これは筆者のミスなのか,あるいは,Latticeで何か設定に変更が行われた結果なのか?

latticeの以前の設定は,どうだったのだろうか,と思って,R-2.5.1のままになっているLinuxマシンで実行したら,結果は上と変わらん.