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

アールメカブ


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

[[Rの備忘録]]



[[Lattice:http://www.springer.com/statistics/computational/book/978-0-387-75968-5]] 翻訳メモ

- テキスト p.41
コードをそのまま実行すると次のグラフが作成される.
#ref(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")

しかし,掲載されているのは次のような図(ただし白黒)
#ref(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_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マシンで実行したら,結果は上と変わらん.