[[Rの備忘録]] ftable は,一部の関数(例えば''MASS''ライブラリの対応分析,すなわちコレスポンデンス分析用の関数 corresp() )の入力にならない.そこで,強引に変換したが,もっとスマートな方法があるのではないか? # フラットな表形式に変換 dat.t1 <-ftable(xtabs(cbind(Q1A1, Q2A1, Q3A1, Q4A1) ~ E1W2 + factor(dat$Age) + Sex, data = dat)) # 構造を見るとクラスは ftable クラスなので # このままではcorrespのインプットには使えない. str(dat.t1$Age) # そこでクラス属性を「行列」に替え class(dat.t1) <- "matrix" # 行や列のカテゴリをリセットする attr(dat.t1, "row.vars") <- NULL attr(dat.t1, "col.vars") <- NULL dat.t1 # 行と列に名前をつけて dimnames(dat.t1) <- list(c("E10M", "E10F", "E20M", "E20F", "W10M", "W10F", "W20M", "W20F"), c("Q1A1", "Q2A1", "Q3A1", "Q4A1")) ## コレスポンデンス分析を実行 library(MASS) dat.corr <- corresp(dat.t1, nf = min(nrow(dat.mat), ncol(dat.mat))) biplot(dat.corr) dev.copy2eps(file = "nihongo.eps") #comment