Ubuntu で GNU PSPP のインストール,Rでの SPSS ファイルの読み込み

PSPP は,GNU プロジェクトによる統計解析ソフトウェアである(ライセンスは GPL)。SPSS のコマンド構文と,SPSS システムファイル(.sav,.zsav),ポータブルファイル(.por)の読み書きに対応する。データの入力元として,テキストファイル(CSV 等),Gnumeric 形式,OpenDocument 形式(.ods),PostgreSQL データベースを扱うことができる(GET DATA コマンド)。

主な解析コマンドは次の通りである。

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。

Ubuntu のインストールはこちらの別ページで説明する。

# パッケージリストの情報を更新
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 DATAEND 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.

実行結果の例