Ubuntu で GNU PSPP のインストール,Rでの SPSS ファイルの読み込み
GET DATA コマンド)。
主な解析コマンドは次の通りである。
- DESCRIPTIVES: 記述統計量
- FREQUENCIES: 度数分布表
- CROSSTABS: クロス集計表とカイ二乗検定
- CTABLES: カスタム集計表
- MEANS: 群別の平均値等の要約
- EXAMINE: 正規性の検定を含むデータの吟味
- T-TEST: t 検定(1 標本,独立 2 標本,対応のある 2 標本)
- ONEWAY: 一元配置分散分析
- GLM: 一般線形モデル
- NPAR TESTS: ノンパラメトリック検定(カイ二乗,二項,Wilcoxon,Mann-Whitney,Kruskal-Wallis 等)
- CORRELATIONS: 相関係数
- REGRESSION: 線形回帰
- LOGISTIC REGRESSION: ロジスティック回帰
- FACTOR: 因子分析,主成分分析
- RELIABILITY: 信頼性分析(Cronbach のアルファ)
- ROC: ROC 曲線
- QUICK CLUSTER: k 平均法によるクラスタリング
- RANK: 順位の計算
- AGGREGATE: 複数のケースの集約
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now
* PSPP をパッケージを用いてインストール
PSPP は Ubuntu の universe リポジトリの pspp パッケージで配布されている。端末で,次のコマンドを実行する。この 1 つのパッケージに,コマンド版の pspp と,グラフィカルユーザインタフェース版の psppire の両方が含まれる。
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install pspp
インストールされたバージョンは,次のコマンドで確認できる。Ubuntu 24.04 LTS では PSPP 2.0.0,Ubuntu 25.10 以降では PSPP 2.0.1 である。
pspp --version
起動してみる
グラフィカルユーザインタフェース版を起動するには,端末で,次のコマンドを実行する。
psppire
次のようなウィンドウが現れる
ターミナル・モードで使いたいときは,端末で,次のコマンドを実行する。
pspp
PSPP で作成されたデータを R で読み込み
psppire を起動し,次のようにデータを入力し,ファイル(ファイル名は sample.sav)に保存する
haven パッケージを用いる方法
R システムで SPSS システムファイル(.sav)を読み込むときは,haven パッケージの read_sav を用いる。read_sav は データフレーム(tibble)を返し,SPSS の変数ラベルと値ラベルを属性として保持する。
パッケージのインストールは,R システムで次のように操作する。
install.packages("haven")
R システムを起動し,次のように操作する。これでデータを読み込める
library(haven)
a <- read_sav("sample.sav")
print(a)
foreign パッケージを用いる方法
foreign パッケージは R に標準で同梱されており,追加のインストールを必要としない。read.spss は既定ではリストを返す。R システムを起動し,次のように操作する。
library(foreign)
a <- read.spss("sample.sav")
データフレームに読み込みたいときは「to.data.frame=TRUE」を付ける.
library(foreign)
a <- read.spss("sample.sav", to.data.frame=TRUE)
PSPP によるデータ処理の例
DATA LIST LIST でデータの形式を宣言し,BEGIN DATA と END DATA の間にデータを記述する。(A32) は,最大 32 バイトの文字型変数であることの指定である。FREQUENCIES で度数分布表を求める。
DATA LIST LIST
/ id name (A32) score student_name (A32) .
BEGIN DATA.
1, Database, 80, KK
2, Database, 95, AA
3, Database, 80, LL
4, Programming, 85, KK
5, Programming, 75, LL
END DATA.
FREQUENCIES name.
実行結果の例