SASでデータ入力をしてみよう

      2015/04/29

データ入力をしよう!

他のプログラムで言うところの"hello world"な最初の部分です。データ解析ですのでデータ入力はとても大事なので避けては通れないです。
データの入力方法は2つです。一つはそのままSASプログラム本体に記入する方法、そしてもう一つは外部のファイルを読み込む方法です。
データが少ない場合はそのまま本文に記入し、データが多い場合は外部ファイルに記入します。

データを本文に書く場合(Cards)

ではさっそくプログラムを書いていきましょう。なお、このサイトではプログラムはATOMで記述してSAS studioで読み込み実行していきます。(参考テキストエディタ「ATOM」を使おう!)

例題

例題として、5人のデータを集計しました。プログラムには通し番号(id)、性別(sex)、年齢(age)、コーラ好き度(cola)、ドクターペッパー好き度(dokupe)を記入します。では、早速プログラムを見てみましょう。
まず、ATOMでプログラムを書き名前をつけて保存(ここではprint.sas)し(画像1)、SAS Studioで実行します(画像2)。ATOMでプログラムを書いた時には保存場所はちゃんとSASでしていされているmyfoldersに保存を忘れずに! (画像1 ATOMでプログラムを書く)

(画像2 SAS Studioで実行する)

data print;
 input id sex $ age cola dokupe;
 cards;
 01 m 20 40 70
 02 f 21 74 60
 03 m 21 49 70
 04 m 22 80 78
 05 m 20 90 40
 ;

 proc print data=print;
 run;

プログラムの中身の解説

data print;はデータの名前を指定しています。今回はprint文使うのでわかりやすいようにしました。わかりやすいというのは大切です!

input id sex $ age cola dokupe;はデータの名前をつけています。入力したデータはただの文字なので宣言して意味を待たせます。idは通し番号、sexは性別、ageは年齢、colaはコーラ好き度、dokupeはドクターペッパー好き度となります(コーラ好き度、ドクペ好き度は適当ですのであしからず)。で、$は独立変数の宣言の後入力します。$がないのが従属変数です。独立変数?従属変数?という人はここでは計算できないのが独立変数、計算できるのが従属変数くらいに覚えておくといいです。つまり性別は足したり引いたりできないので独立変数、年齢は例えば平均年齢を求めるためには足して割るという行程があるので従属変数です。

cards;で、これから下にデータを入力しますと宣言。そしてinputで宣言したとおりにデータを入力していきます。そして入力が終わったら;で入力終了を宣言しましょう。

proc print data=print;を見ていきましょう。procはprocedureの略で「手続き」を意味します。printはデータの中身を出力する命令文です。data=printはどのデータを分析するかを指定しています。最後にrun;で実行しています。

では画像2から実行ボタンを押します。すると結果のタブにきれいに表になって出力されます。これで完了です。

データが多い場合

さて、データが少ない場合はこのようにcardsで入力できますが、データ数が多い事がほとんどです。その場合は外部ファイルにデータを用意してプログラムで読み込む必要があります。次回はその方法についてまとめたいと思います。

SASトップページ

 - SAS