1 日 30 分くらい，30 日で何とかＲをそこそこ使えるようになるための練習帳：Mac 版	 
ver.0.95（ほぼ完成版）	 

13 日目：尺度作成（α係数など）	  さて，いろいろと分析を試し，結果を比較してみていただけたでしょうか？	  今回のサン
プルデータは，結構やっかいな部類（きれいな構造ではないと言うべきか…）に入ると思います。たとえば，因子数３，プロマックス回転を採用し，抽出方法のみを変更して，主因子法，最尤法，一般化最小二乗法の結果を比べてみると，かなり結果が違ってきます。	  今回は R の使い方の資料なので，どれを採用するのが良いのかという話は少し横に置いておきます。私の好みからすると最尤法の結果かと思いますので，これを使って，本日は尺度項目を確定し，内部一貫性を求め，合計得点を計算するという作業を説明します。

-"# =,+$(%"-"(-(-"*6</E
4:GD3.E
=(#"'&#'%)"#""*"
 $&!

!&* !%)
 !"*-*

/A780

'$&

 #%"

 !"!

-%
-"&-#

>B/
>.E
16@F='"#
&*'
%#$

#"&
!(##*#!$&$%(
 #!*-"'-"!

88CFE
2G//

$'*
$!"

$$"
#'%

!!!
 "#(-#!
-"%
-&

=
=
5F9

"$'"#$""( )!)('"(&& !)(
 !!$!*&-"$-"

=>.E

 !#'
 !!%

'!#
&"$

 "#'
 ")"

-)
-""
-'

=
 D/
=

 !!)
!"%
!(%

$*"
 !$(!**#*()&$($$-$-")

>.E
D;?=!#$!#)

 !%&"**(""%%(	  因子分析の結果をエクセルで整理すると，右のようになります。	  因子パターンが.400 以上を赤字にしてあります。赤字を２つの因子に対して示す項目はありませんが，どの因子にも赤字を示さない項目はあります。	  それぞれの因子に関しては，１番目の因子は，利用・活用に関する項目が高いパターンを示しています。そこで「実用的」と命名しておきます。	  ２番目の因子は「古典的な」が負のパターンを示し，「都会的な」などが正のパターンを示しています。そこでこれを「デザイン性」と命名しておきます。	  ３番目は「近寄りがたい」「高価な」「高級感のある」などが高いパターンを示していま

,+"
"!*

,+#
 !!&

す。そこでこれを「高級感」と命名しておきます。	  ダミーのデータなので，命名にこだわってもしょうがないのですが…
	  これらの因子が見出されたとし，また因子パターンが.400 以上を基準として項目を抽出し，下位尺度を構成する候補とします。	  ここまで来ると，後の手順は大体想像できると思います。α係数を出し，それが満足できる値なら合計点を算出し，基礎統計量を求めてみる…。こういう流れですね。

13-1

1 日 30 分くらい，30 日で何とかＲをそこそこ使えるようになるための練習帳：Mac 版	 
ver.0.95（ほぼ完成版）	 	  まずはα係数からいきます…と言いたいところなのですが，因子分析結果をみるとわかるように，１つ逆転項目が入っています。まずはこれを逆転させます。	  命令はとても単純で，かつ，これまでにも出てきたものと同じイメージです。４件法で，１から４点で得点化されているので，それを５から引けば逆転できます。
x$br20 <- 5-x$b20	  これでファイル x に br20 という項目が追加され，そこに x の b20 のデータを 5 から引いたものが入ります。br20 という新しい項目名を作らなくとも，ここを b20 とすればデータの上書きをしてくれるのですが，後で混乱するとどうしようもないので，新しい変数を作っておくことをおすすめします。	  うまく変換できているかどうかを確認する方法はいくらでもあると思いますが，table(x$br20, x$b20) というものをやってみるのも面白いと思います。	  うまくいっていれば，右図のように，右上がりの対角線上にのみデータが位置するはずです。	  これで逆転項目の処理も終わりましたので，いよいよα係数です…が，もう一つその前に。	  これからの分析を考えると，因子分析の前にやったように，各下位尺度の候補をまとめてひとつのまとまりにしておくと何かと便利です。そこで，以下のような感じで３尺度ごとのファイルを作成しておきます。
l.f1 <- c("b2","b4","b7","b9","b12","b15","b17","b19")
l.f2 <- c("b1","b5","b13","b14","br20")
l.f3 <- c("b3","b6","b11","b18")
d.f1 <- x[l.f1]
d.f2 <- x[l.f2]
d.f3 <- x[l.f3]	  さて，いよいよα係数です。これは psych パッケージに入っています。
alpha(d.f1)
	  これで d.f1，つまり「信用・信頼」因子を構成する項目群のα係数を算出してくれます。
各種の指標も同時に出力してくれるので，とても簡単です。	  ですが，出力される指標がかなり多いので，うれしい悲鳴ですが…
13-2

1 日 30 分くらい，30 日で何とかＲをそこそこ使えるようになるための練習帳：Mac 版	 
ver.0.95（ほぼ完成版）	 	  出力の上から順に説明すると
raw_alphaα係数

std.alpha

標準化されたα係数

G6(smc)ガットマンのラムダ６

average_r

項目間相関の平均値

mean

平均

sd

標準偏差	  その下の一覧が，Reliability if an item is dropped。つまり，その項目を削除した時の各指標です。主として，ここの指標との比較から考えていけばよいでしょう。	  さらに下にあるのが，Item statistics。訳すまでもないでしょう。この一覧，今一つ内容がわからないものもあるのですが，代表的な指標としては以下のものでしょう。
r.drop

その項目を除いた場合の合計と，その項目の相関	  さて，このα係数の結果の中で，最初の，raw_alpha や std.alpha は，小数点以下１桁で表示される場合もあります。今回だと，３つ目の因子は以下のよう。	 	 	  実際は小数点以下３桁目で丸められているようなのだが，ちょっと気持ち悪い。もう少し桁数をみたいなら，いったんα係数の結果を何かに代入しておく。そして，ここの情報にはtotal という名前がついているのでそれをよび出してやる。
alpha(d.f3) -> dd.f3
dd.f3$total	  こうやっておくと，以下のような詳しい数値が出てきます。

13-3

1 日 30 分くらい，30 日で何とかＲをそこそこ使えるようになるための練習帳：Mac 版	 
ver.0.95（ほぼ完成版）	 	  さて，このように簡単にα係数を算出してくれるのですが，ちょっと気を付けておかな
ければならないところをひとつ。	  ためしに，逆転項目であるb20 を逆転しないまま使って，「デザイン」のα係数を算出してみてください。	  これが，驚くことに右のようにばっちりと逆転して計算してくれるのです。違うところといえば，b20 の部分に「-」とついているところです。これを見逃してしまうと，とても残念なことになってしまうので注意してください。	  こういう場合，結果の最後に警告が出ます。
「いくつかの項目で合計と負の相関が出たので自動的に逆転しました」って，これは自動的にやらない方がいいと思うのだけれど…

	  さて，これらの結果を眺めてみると，「信用・信頼」のα係数は.86，「デザイン」が.82，「高級」が.80 という値です。項目別にみると，ちょっと（かなり，というべきか…）気になるものもありますが，練習ですし，α係数自体も満足のいく値なので，これで項目を確定します。	  これで各下位尺度の合計点を出せばよいのですが，ここもいろいろなやり方ができます。
きわめて無難な線なら…
13-4

1 日 30 分くらい，30 日で何とかＲをそこそこ使えるようになるための練習帳：Mac 版	 ver.0.95（ほぼ完成版）	 

x$total.f1 <- x$b2 + x$b4 + x$b7 + x$b9 + x$b12 + x$b15 + x$b17 + x$b19などと，新しい変数名をつくり，素直に計算式を書くというやり方でしょうか。	  もう少し楽にということなら，一見，ちょっとわかりにくいかもしれませんが，結構簡単なのは以下ではないかと…
to.f1 <- rowSums(x[,l.f1])
to.f2 <- rowSums(x[,l.f2])
to.f3 <- rowSums(x[,l.f3])
xx <- data.frame(x, to.f1, to.f2, to.f3)	  rowSums(x[,l.f1])は，その名の通り，行の合計（１ケースのデータは１行に入っているため行の合計です。列と勘違いしないように。
）を求める命令で，x[,l.f1]と，x の中のl.f1 で指定された列のみを使ってそれを計算しなさいということになります。つまり各ケースの合計が to.f1 にストックされます。同様に l.f2 ，l.f3 についても合計を計算しておいて，data.frame(x, to.f1, to.f2, to.f3)で x にくっつけてやり，それに xxという名前をつけるという作業になります。	  少しイメージがわきにくいかもしれませんが，xx を見てみると，以下のようにちゃんと新しい変数が結合されています。また rowSums は欠損値がある場合は欠損値を返すので，b2に欠損値を持つ場合の to.f2 も NA になっています。	  なお，合計を項目数で割ったものを合計得点にしたければ…
to.f1 <- rowSums(x[,l.f1]) / 8などとしておけばよいです。	  本日はここまでです。
13-5