今回分 講義への意見・質問
Q:' proc freq DATA=ens.ensdat1;
table
RTVMF * FREQ;
↓ ↓
(表側) (表頭)
で使われるFREQは、変数なのでしょうか?それとも、Proc freqに使われる言語のほ うなのでしょうか?'
-->紛らわしい変数名で申し訳ありません。RTVMF * FREQのFREQは変数名です。
Q:SASを使って3つ以上の変数の関係を調べるやり方というのもあるのです か?例えば、上記の例だと、「缶コーヒーの使用頻度」のそれぞれの解答に対
>して > 「味のみ購買基準」「値段のみ購買基準」「味値段の両方が基準」「ど
>ちらも違う」の > 4通りの人数、割合などを求めることも、できるのですか?
---->3重クロス集計表も作成できます。 質問の例では、 proc freqの中で
table freq * PTASTE * PPRICE;
のように指定すると3重クロス集計表を作成してくれます(4重以上についても同様に*で指定することができる)。
次のようにFreqの値毎にクロス集計表が出力されます。
TABLE 1 OF PTASTE BY PPRICE
CONTROLLING FOR FREQ=1
FREQ=1 の時のPTASTE BY PPRICEのクロス集計表(省略)
CONTROLLING FOR FREQ=2
FREQ=2 の時のPTASTE BY PPRICEのクロス集計表
....
Q:' データが既にあるので、SASのプログラム自体は意外とシンプルなものに思えまし た。そうしてアウトプットしたものを授業では簡単に読み込んでいましたが、自分の課題 として読み込める段階にはまだ至っていません。' Q:'今回は結構よく分かった。でも結局自分のデータなどを扱えるようにならないといけ ないと思うと、「大変だなーーーー」と思う。'
---> 自分のデータをどうやって読み込むか、についてはそのうちお教えします。
Q:'研究テーマを途中で変えてもよろしいですか?一応テーマを報告しましたが、このま まだと物足りないのでもう少し考えてみたいです。'
-->変えてもよいです。グループの変更もありです(ただし、どのように組み替えたかを伝えて下さい)。
Q:' 今日は前回と比べると授業についていくことができたと思う。わからないことが多い ので、その都度質問をしてついていこうと思う。'
--> そうして下さい。
Q:アンケートをするのに、先生がお使いになっているようなCGIを使いたいと思っているのですが、もしよろしければソースプログラムをコピーさせていただけないでしょうか?
-->どうぞ。
これは秋本・古川『CGIプログラミング入門』翔泳社にあるプログラムについて、変数名を自分のものに変えて使っております。無論、htmlフォームと変数名とは対応していなければなりませんし、ファイルのパーミッションなども変更しておかねばなりません。私も本を見ながらやったので、perlの詳しいことはわかりません。
#!/usr/local/bin/perl
require "cgi-lib.pl";
require "jcode.pl";
&ReadParse;
$no = $in{"no"};
$name = $in{"name"};
$inf = $in{"inf"};
$cont = $in{"cont"};
$resume = $in{"resume"};
$explain= $in{"explain"};
$int = $in{"int"};
$good = $in{"good"};
$sat = $in{"sat"};
$dsat = $in{"dsat"};
$late = $in{"late"};
$prsn = $in{"prsn"};
$prscnt = $in{"prscnt"};
$point = $in{"point"};
$opinion= $in{"opinion"};
# 現在時刻を各変数に代入
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime;
$mon++;
@week = ('日','月','火','水','木','金','土');
$wday = $week[$wday];
$min = sprintf("%.2d",$min);
$sec = sprintf("%.2d",$sec);
open (IN,">>dd.dat");
flock (IN,2);
$sp=" ";
$cr="\n";
$Qu="Q:";
$cl="\n -->";
print IN $year,$sp,$mon,$sp,$mday,$sp,$wday,$sp,$hour,$sp,$min,$sp,$sec,$sp, $no,$sp,$name,$sp, $inf,$sp,$cont,$sp,$resume,$sp,$explain,$sp,$int,$sp,$good,$sp,$sat,$sp, $dsat,$sp,$late,$sp,$prsn,$sp,$prscnt,$sp,$point,$sp,$opinion,$cr;
flock (IN,8);
close(IN);
open (IN,">>prscnt.dat");
flock (IN,2);
print IN $prscnt,$cr;
flock (IN,8); close(IN);
open (IN,">>opinion.dat");
flock (IN,2);
print IN $Qu,$opinion,$cl,$cr;
flock (IN,8);
close(IN);
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD>\n<TITLE>書き込みました</TITLE>\n</HEAD>\n";
print "<BODY>\n<H1>データを書き込みました</H1>\n"; print "$year年$mon月$mday日($wday)$hour:$min:$sec。\n";
print "</BODY>\n</HTML>";
Q:' 授業のスピードが、とても速いので、もう少しゆっくり進めてほしいです。' Q:'最後の方、少しスピードガ速かったので、ついていけなかった。でもひとつひとつは わかったと思う。'
Q:'少しずつ追いついていると思います。 ' Q:' もう少し授業のスピードをゆっくりしていただけると助かります。' Q:'むずかしいのでもっとおしえてください' Q:' もう少し、ゆっくりと講義をして頂きたいです。'
Q:' 後ろのほうに座っていたので、声が聞こえなかった。できればマイクをつかって欲し い。また、板書も下のほうに書かれると見えないので上のほうに書いて欲しい。授業の進 め方が少し速いと感じた。'
Q:'今日後ろに座っていたので、あまり声が聞こえなく、また画面も見えなかったので、 できない上に更に大変な思いをしました。できたらマイクを使ってください。 '
Q:' 少しついていけないところがありますので、今どういうことをやっていて、これはど ういう状況で使うのかなどを教えてもらえれば、と思っています。'
Q:'窓が開いていると、後ろのほうではちょっと聞き取りづらいときもありますので、マイクなどを使っていただけるとありがたいです。
Q:' SASというものが、いまいちはっきりしません。ぱそこんの知識がないので、講義 についていけません。できるだけがんばりますが、ご迷惑をかけると思います。よろしく お願いします。'
Q:'かなり授業の進行が早いのでついていくのに精一杯です。できましたら説明するタイ ミングをもう少し遅らせてほしいです。先生に追いついたと思ったら説明が終わっている ことがしばしばあったので。 '
Q:'黒板に書いたものは読みにくいので、SASに打ち込むデータに関してだけでいいので、 パソコンの画面などで、はっきり見えるようにして頂けると嬉しいです。'
---> マイク、板書については要望のとおりにしたいと思います。
速度についてはかなり不満があるようですね。わからないのはいないか、ついてきているかと常に確認しているつもりですが、わからないこと、ついていけないことがあったら質問して下さい。
なお、わからなくなる可能性が高い人は後ろではなくて、前に座るとよいでしょう。