=統計解析= SASプログラミング

このエントリーをはてなブックマークに追加
1132人目の素数さん
RがあるのでSASも立てておきましょう
2132人目の素数さん:2007/07/18(水) 21:38:50
2ゲットします。
3132人目の素数さん:2007/07/19(木) 01:45:41
あれー?なんか不思議な時期に不思議なスレがw
あっちのスレで叩かれてた粘着さんかな?
4132人目の素数さん:2007/07/22(日) 23:05:33
薬学系では圧倒的シェアを誇るソフトだね。
金に糸目をつけないヘタレどが好むソフトだけあって超高価。
利用者もアホが多くて関連スレもいつも荒れがち。
5132人目の素数さん:2007/07/25(水) 01:04:14
SASいいんだけどなぁ。個人じゃ買えないし。最近みんなSPSSばっか。
会社の方針としてターゲットが違うんだろうなぁ。
俺も今後どうしようかなぁ。SAS、いいはいいんだけどなぁ。
6132人目の素数さん:2007/07/25(水) 01:33:27
関連スレが荒れがちなのかー。
1:高いから叩かれる
2:プログラミング言語としてみたら、できは悪い
この辺かな。
よく使うものから論文レベルまで、統計手法を簡単に実行できるようなプログラムの束でPROCを作っているツールというのが、
正確なところですかね。
そして論文レベルというところのUpdateはRにはかなわない。
好きなんだけど価格とか、SAS Japanの営業の対応の悪さとかで、
良いイメージつくれないんでしょう。
コメントが既にスレタイトル違いですね。
別に終了しなくても良いとは思いますけど。
7132人目の素数さん:2007/07/25(水) 09:13:14
>>6
>関連スレが荒れがちなのかー。
>1:高いから叩かれる
>2:プログラミング言語としてみたら、できは悪い
>この辺かな。

&使ってるやつが生物系のバカ
8132人目の素数さん:2007/07/25(水) 10:18:09
トレーニング鬼高いね。
10万とか意味不明
9132人目の素数さん:2007/07/26(木) 00:41:07
>>6 & 7

>2:プログラミング言語としてみたら、できは悪い

これは、言語が生まれた時代のせいだと思う。
C+とかJavaのオブジェクト指向が一般の人々に普及してきたあたりから
仕様が時代遅れになった感は否めないが、出来が悪いということはない。
ゲーム作る人には確かに使えないかもしれないが(^^;

むしろ、30年以上前のプログラムが動く互換性を維持しながら
言語自体も拡張を続けてるってのは正直すごいことだと思うんだけどなぁ。

Multi Vendor Architectureとかいう
"write once, run anywhere" のコンセプトも
Javaよりずーーーっと前に実現してたし。
Z-OSとOpenVMSとHP-UXとLinuxとWindowsとMacと、・・・その他諸々、とで
データ加工バッチ処理はもちろん、同じGUIアプリケーションが
そのまま動く、って言語、他にいくつある?

・・・動作環境が有料ってとこがJavaとは根本的に違うけど。



>1:高いから叩かれる
>&使ってるやつが生物系のバカ

これは本当(藁


10132人目の素数さん:2007/07/26(木) 00:48:45
SASはNeXTSTEPでも動いていたぁっっ!!
11132人目の素数さん:2007/07/26(木) 16:23:08
SASはOS/2でも動いていたぁっっ!!
12132人目の素数さん:2007/07/28(土) 21:47:54
SASはIRIXでも動いていたぁっっ!!
13132人目の素数さん:2007/08/10(金) 22:07:21
>8
確かにトレーニング代金は、めちゃめちゃ高いですよね!
一昔前は、まだそれ程でもなかったけど、年々高くなってるね。
これじゃあ、会社で費用を出してもらわなくては参加できない!
でも、話を聞くとトレーニング講師ってSASジャパンの社員だけじゃ
ないみたいだね。他の会社から講師を招いたり。。。
14132人目の素数さん:2007/08/11(土) 09:36:00
>>8, 13

何と比較してんだろ?
Oracleなんかもっと高いと思うんだけど。
さっき調べたらSPSSだって同じ位じゃん。

15132人目の素数さん:2007/08/12(日) 20:01:52
トレーニング費用がやたら高いという理由は、やはり「希少価値」の為
だろうね。
SASって、JavaやC言語などと比べたら知名度は全然低いし、SAS技術者も
少ないので、トレーニング代が高いんだよ。
でも、トレーニング代が高い→とっつきづらい→SAS技術者が増えない
→トレーニング代が更に上がるといった、デフレスパイラルは避けたいね!
16132人目の素数さん:2007/08/14(火) 05:22:58
製薬業界でSASが主流なのって、
データをメモリーに読まなくても操作できるから?
それとも、単に昔から使ってるから?

もちろん両方とも正しいとは思うのだけど、
これらの理由がどの程度、重大なんだろう。
17132人目の素数さん:2007/08/17(金) 00:37:07
>>16
oioi
18132人目の素数さん:2007/08/18(土) 10:02:55
>16
マジレスすると、
新薬申請に必要な統計結果を厚労省やFDAに提出する際に、
製薬会社がその正確性を説明する責任があって、
コンピュータプログラムを使った場合、そのロジックの正確性も
証明しなければならない。
SASを使っていると、SASプログラム添付程度ですむので
その部分が事実上免除になる。 ・・・らしい。

19132人目の素数さん:2007/08/18(土) 11:16:12
>>18
なるほどー。
SASのアウトプットは誤解を招くものが多いという評判もあるけど、
やっぱし権威があるんだな。
20132人目の素数さん:2007/08/30(木) 15:48:08
DATA AGE; RUN;
21132人目の素数さん:2007/08/30(木) 21:20:59
data age(compress=yes);
set age;
run;
data age(genmax=4);
set age;
run;
22132人目の素数さん:2007/08/30(木) 22:50:03
サスにできてエクセルにできないことってあるんでしょうか?
23132人目の素数さん:2007/08/30(木) 23:30:22
>>22
SASは使えるが
エクセルは使ったことがない輩はいると思う
24132人目の素数さん:2007/08/31(金) 05:20:26
>>22
「できる」の定義による。

エクセルの出来合いの関数だけだったら
わずかな統計解析しかできないけど、
「Excelに実装されてない最適化プロシージャも
マクロ書けばできますよね。」
とかいうんだったら、同じと言えるかもしれないし。

>>23
ホントにそんな奴いる?
結果をまとめるときに結局エクセルに張ったり
することが多そうだけど。
25132人目の素数さん:2007/09/01(土) 22:06:00
26132人目の素数さん:2007/09/20(木) 03:31:54
ageてみる
27132人目の素数さん:2007/09/26(水) 20:23:38
>>22
>サスにできてエクセルにできないこと

正しい結果を返すこと。

ttp://aoki2.si.gunma-u.ac.jp/Hanasi/excel/index.html

これを読むとExcel使うのが怖くなります。
28132人目の素数さん:2007/10/04(木) 11:25:17
>>27
SAS使ってる人間がexcelでこんな関数使うとは思えないんだが
と思う製薬メーカプログラマ
29132人目の素数さん:2007/10/19(金) 14:35:54
そりゃSAS使える環境にいりゃExcelで>>27みたいな関数つかわんでしょ。

SAS使える環境にいない香具師が「なーんだ、Excelでできるんじゃん? SAS
なんかぼったくり」とかカン違いしてしまうのはイタい。
30132人目の素数さん:2007/10/28(日) 05:57:18
age
31132人目の素数さん:2007/11/05(月) 17:16:05
SAS高いのに開発環境がボロい。F3押して終了まで待ってメッセージ確認の繰り返しで、
デバッグではまりやすい。ステップ実行とか状態表示とかできひんもんな。
コードもDATAステップが多いと読みにくいから、SQL使えるところは全部そうする。
32132人目の素数さん:2007/11/05(月) 23:01:17
> ステップ実行とか状態表示とかできひんもんな。

SCLはできるけどな。

あと、DATAステップとかのコードでも、
V8以上の拡張エディタ使ってるなら、ステップをマークしてからF3押してみ。
そこだけ実行できるから。

> SQL使えるところは全部そうする。
これは正解w

33132人目の素数さん:2007/11/06(火) 00:01:49
>> SQL使えるところは全部そうする。
>これは正解w

そうか?SASをまともに使えないプログラマはSQLに逃げる傾向があるのは確かだけど。
3432:2007/11/07(水) 00:45:51
>>33

>>>これは正解w
前言撤回。

"使えるところ"という部分に賛成したまでで。。。
"全部"というのは確かにSASをまともに使えない椰子だな。

デカルト積がほしいときとか、MEANS+SORT相当の処理とか、
ルックアップリストをIN( ) 構文で使いたいときとか。
・・・だって、point=とかkey=とかのSETオプション、面倒くさいんだもん。

まぁ、メモリが潤沢でないと価値は半減かもしれないが。
35132人目の素数さん:2007/11/10(土) 16:22:18
>デカルト積がほしいときとか、

これはSQL使わないと処理スピードもプログラムも酷いものになるよね。

>MEANS+SORT相当の処理とか、

MEANSの方がきめ細かい処理ができますよ。COMPLETETYPESとかもう最高かと。

>ルックアップリストをIN( ) 構文で使いたいときとか。

これはどういうこと?

36132人目の素数さん:2007/11/10(土) 16:23:45
データステップでデカルト積を出せるようになったら
脱初心者と言って良いのでは?と思う。
3732:2007/11/10(土) 19:16:07
>>35

> >MEANS+SORT相当の処理とか、
> MEANSの方がきめ細かい処理ができますよ。COMPLETETYPESとかもう最高かと。

そうなんだけど、出力値(合計値とか)のソートって、結構使いません?
MEANSにはまだその機能がない。
・・・"まだ"って書けるところがSASへの期待値(w

3832:2007/11/10(土) 19:16:52
続き
> >ルックアップリストをIN( ) 構文で使いたいときとか。
> これはどういうこと?

たとえば、
DATA work.testdata;
INPUT name $ english science math;
DATALINES;
Alice 80 90 75
Taro 50 40 80
Philip 95 90 40
;
とかってデータがあって、
select * from work.testdata
where name in (select distinct name from sashelp.class);
みたいな処理。

DATAステップだと、インデックス作ってから SET KEY= で_IORC_チェックとか、
BY付MERGE(≒SORTかINDEX必須)で IN= チェックとか、
32Kバイトまでの制限覚悟でマクロ変数を経由するか、
・・・いずれにせよ1ステップですまないから。
照合対象キー変数が複数だと、DATAステップに軍配が上がると思いますけどね。
39132人目の素数さん:2007/11/10(土) 22:23:19
> BY付MERGE(≒SORTかINDEX必須)で IN= チェックとか、

+ WHEREオプションで十二分な気がするけど。

ま、要するにどれもソートするのが面倒なだけなんだね。
40132人目の素数さん:2007/11/11(日) 22:19:35
すみません1つお聞きしたいのですが、A君、B君に給与支払いの総額を算出したいです。
A君、一日に1000円。二日に1000円。B君、一日に2000円、二日に2000円。
並び順
A 20071101 1000
B 20071101 2000
A 20071102 1000
B 20071102 2000
とあった場合、どのような関数を使うと算出できますか?
41132人目の素数さん:2007/11/11(日) 22:30:17
関数というよりプロシジャを使うのが普通の方法。

データセット名 => INDATA
変数名 => VAR1 VAR2 VAR3

proc summary data=INDATA ;
by VAR1 ;
var VAR3 ;
output out=OUTDATA sum(VAR3)=SOUGAKU ;
run ;

by を class に変えてnwayオプション追加とか色々あるけど
とりあえず↑が一番無難だと思う。
42132人目の素数さん:2007/11/11(日) 23:13:55
>>41
ありがとう
43132人目の素数さん:2007/11/17(土) 06:55:01
>>4
>関連スレもいつも荒れ・・・
どのスレのことですか?
44132人目の素数さん:2007/12/05(水) 10:14:03
y=x^2、y=2x^2のプログラミングを教えてください。
45132人目の素数さん:2007/12/11(火) 22:30:12
>>44
釣り? 質問の意味がよくわからない。

DATAステップでの記述方法という意味なら、
乗算は * 、 べき乗は ** を使う。つまり、

y = x ** 2 ;

y = 2 * x ** 2 ;

と書く。
46132人目の素数さん:2007/12/13(木) 18:59:47
TBSはこうして在日朝鮮人に乗っ取られた。 窓際社員の独り言です。

(1)1960年代
テレビ放送が始まってまもなくの頃、放送中のちょっとした言葉づかいの問題(例えば「朝鮮民主主義人民共和国」を"北朝鮮"と呼んでしまった、など)に対して、
朝鮮総連から会社及び経営幹部の自宅に対して脅迫に近い抗議行動が繰り返される。抗議行動に対する「手打ち」として、採用枠に"在日枠"が密かに設けられる。
総連幹部の子弟を中心に入社試験無し(カタチだけの面接)での採用が毎年続く。
在日枠の密約を所轄官庁に対して内密にしてもらうよう局側から総連に「お願い」をしてさらに弱みを握られ身動きがとれなくなっていく。
(2)1970年代
政府を叩きさえすれば世論が喝采する狂った時代。
在日社員の「反日番組」を「権力に対するペンの戦い」「調査報道」と勘違いした経営幹部が社内で在日を積極登用。
「日本人社員と在日社員に昇進の差別があってはならない」などと理想論を述べたのは良かったが、
しかし昇進差別をしなかったのは甘い日本人幹部だけで、課長、部長と昇進した在日社員は、帰化した在日二世を理不尽なまでに優遇する逆差別人事を徹底。
異を唱えた日本人社員は徹底的にマークされ、営業や総務など番組制作の第一線から退けられる。
47132人目の素数さん:2007/12/13(木) 19:00:22


(3)1980年代---90年代
昇進した在日社員が主要な報道番組のプロデューサーや報道局長など、決定的なポストを占める。
某サヨク週刊誌の在日編集長をキャスターに迎えたニュース番組が、
学生時代に学生運動に没頭した団塊の世代の視聴者の支持により高い視聴率を得る。
1989年の参議院議員選挙では「土井社会党」「マドンナブーム」を援護。あからさまな社会党支持。

(4)1990年代---2000年代
偏向報道、捏造報道、取材情報を特定の勢力に提供するなど、報道機関として存在を否定されかねない不祥事が続発。
朝日新聞、系列のテレビ朝日が、どちらかといえば「北京の意」を汲んだ報道が多い。
バブル崩壊以降の景気低迷でただでさえ厳しい広告収入が、「サラ金」と「パチンコ」に大きく依存。まさに、在日朝鮮人の資金で在日朝鮮人が運営しているのがウチの放送局。
在日の局長が在日のスターを「作り上げる」ような番組制作が為され、その証拠に「筑紫哲也の番組名」が未だに存在する。
48132人目の素数さん:2007/12/14(金) 10:07:10
現代社会において数学の哲学が必要とされるとしたら
それは科学技術の展開における数学的発想の役割を
深く突き詰める上においてであろう
とくに確率論や統計学の発達を無視しては
現代的な意味での数理哲学は成立し得ない
というか、単なる机上の空論に堕するであろう
19世紀的な問題意識の延長上には
魅力的な問題はそう多くは残っていないようだ
49132人目の素数さん:2007/12/15(土) 00:26:32
質問いいですか?

TANAKA 1
SUZUKI 2.3
NAKANO 3
YOSHIDA 4.2
というEXCELのデータを読みこんだ時

INPUT NAME $ SUCHI 5.1 ;←このように5.1と指定すると
整数値も1.0という風になってしまうのですが、
整数は整数、実数は実数で表示することは出来ますか?
  
50132人目の素数さん:2007/12/17(月) 02:36:04
>>9

>&使ってるやつが生物系のバカ

使えなくて数式をほじほじする数学系のバカ
51132人目の素数さん:2007/12/17(月) 11:39:54
>49
つ BEST.フォーマット
52132人目の素数さん:2007/12/17(月) 19:50:55
>>57
ちょっとちょっとぉ
数学全般に理解があるぅ?
そんなすごい人が日本に一人でもいますか?
53132人目の素数さん:2007/12/21(金) 16:27:36
オレだよ、オレ、オレオレ
54132人目の素数さん:2008/01/23(水) 16:25:27
うちはSASをフルオプションで使えるけど
宝の持ち腐れ状態だな・・・
55132人目の素数さん:2008/03/28(金) 14:55:08
447
56132人目の素数さん:2008/03/29(土) 07:04:04
>>52
もちろん自分は数学全般に理解があります。だいじな分野なのでがんばって
やってほしいとおもっとります。
57132人目の素数さん:2008/04/25(金) 00:48:16
SASで解いたからと言ってプログラムをもらったんですが、
R しかない俺の環境でコマンド変えていったら動きますかね。
それともS-Plusとか買う必要ありますか?
当方貧乏人なんですが。

だめなら、Mathematicaでひとつひとつ計算する方法しか思いつかない orz
58132人目の素数さん:2008/04/25(金) 11:29:11
>>57
言語系がまるきり異なるソフトなので
無理
59132人目の素数さん:2008/04/25(金) 15:00:31
>>56
おしい。なぜ次のレス番にしない?
60132人目の素数さん:2008/04/25(金) 16:04:35
>>58
dクス orz
61132人目の素数さん:2008/04/26(土) 17:40:02
>>62
ちょっとちょっとぉ
数学全般に理解があるぅ?
そんなすごい人が日本に一人でもいますか?
62132人目の素数さん:2008/04/26(土) 17:40:30
>>61
もちろん自分は数学全般に理解があります。だいじな分野なのでがんばって
やってほしいとおもっとります。
63132人目の素数さん:2008/05/26(月) 16:31:29
統計学なんでもスレッド8
http://science6.2ch.net/test/read.cgi/math/1211786770/
64132人目の素数さん:2008/07/23(水) 04:40:04
500
65132人目の素数さん:2008/07/29(火) 15:13:56
>>65
たのんだ
66132人目の素数さん:2008/08/08(金) 09:29:37
>>66はオナニーマニア
67132人目の素数さん:2008/08/23(土) 21:17:24
SAS のデータセットで・・・
ID Var1 Var2 Var3
1 10 0 0
1 0 20 0
1 0 0 30
のようになっているとします。
これを、
ID Var1 Var2 Var3
1 10 20 30
のように、上に詰めたいんですが、どうやったらできるでしょう。
68132人目の素数さん:2008/08/24(日) 10:47:39
>>67
合計でいいような気もするが、その場合は
proc summary nway;
class ID;
var Var1-Var3;
output sum=;
run;


特定の値("0")を捨てる、という意味なら
data temp1;
set _last_;
obs=_n_;
proc transpose data=temp1 out=temp2;
by obs ID;
var Var1-Var3;
proc sort data=temp2(drop=obs) out=temp3;
where COL1 ne 0;
by ID _NAME_;
data temp4;
set temp3;
by ID _NAME_;
if first._NAME_ then subID=0;
subID+1;
proc transpose data=temp4;
by ID subID;
run;

って感じか。
ID毎に1行になることが確実なら subID 生成ロジック(sortとtemp3&4)は不要。

6967:2008/08/25(月) 01:34:52
>>68
ありがとうございました!
リサンプリングされたデータごとに解析を行なって(IDで区別)、
パラメータ推定値の分散共分散行列(ただし対角行列で共分散は考慮しない)がたくさんあって、
これを集計することを考えていました。
前半部分で解決しました。後半のやり方も参考になりました。
70132人目の素数さん:2008/10/13(月) 14:14:26
対比(contrast)というやつが今ひとつつかみきれません。
用量群(Dose)が3つあってLow, Middle, Highとなっており、それぞれで血圧(BP)が測定されているとします。
PROC GLM data=XX;
class Dose;
model BP = Dose;
contrast 'Linear' Dose -1 0 1;
contrast 'Saturate' Dose -2 1 1;
RUN;
こんな風に合計が0になる対比係数を作り、
対比係数×平均値の和を検定します。
3群の平均値がいずれも等しいなら、和も有意ではないのですが、
あるパターンがあるならば有意になります。
いくつかの対比を用いて検定したときに最も有意性が高いものが、
データのパターンと近いはずであるということを聞くのですが、これはなぜなんでしょう?
どうもうまくつかめていないのです。
良い説明はないでしょうか。
71132人目の素数さん:2008/12/03(水) 16:11:54
561
72132人目の素数さん:2009/01/11(日) 09:30:27
616
73132人目の素数さん:2009/02/10(火) 15:21:57
過疎ってるね
74132人目の素数さん:2009/02/10(火) 23:01:30
>>70
対比の値は、平均値ベクトルを x、対比ベクトルを y としたとき、内積 xy' にあたる。
y を定数倍して |y| = 1 に基準化してやると、xy' = |x| cosθである。
ここで、θは x と y がなす角。
xy' を最大にする y は cosθ= 1 となるもの、すなわち x/|x| である。

なお、y の定数倍が検定統計量に影響しないことは、検定統計量の式を見ればほとんど自明。
75132人目の素数さん:2009/04/25(土) 11:07:49
371
76132人目の素数さん:2009/06/22(月) 00:06:49
SASはいいなぁ
77132人目の素数さん:2009/06/22(月) 07:22:56
どこが?
78132人目の素数さん:2009/07/09(木) 02:10:17
sasマンセー
79132人目の素数さん:2009/07/09(木) 07:26:20
出来ることなら、SASなんて触りたくない
80132人目の素数さん:2009/07/18(土) 23:37:39
二年二時間。
81132人目の素数さん:2009/07/28(火) 01:27:51
ネ土長はネ申
82132人目の素数さん:2009/08/01(土) 07:52:46
ユーザー総会どうでした?
83132人目の素数さん:2009/08/21(金) 00:08:57
心から素晴らしい会社だと思います
84132人目の素数さん:2009/08/25(火) 21:33:09
ソース書く時どのエディタ使ってる?
85132人目の素数さん:2009/08/31(月) 02:31:48
SASの拡張エディタだよ。
ユーザー会はベイズがよかったなぁ。あと、医薬統計の、経時プロファイルの話。
86132人目の素数さん:2009/09/20(日) 16:30:49
SASが開いてないと落ち着かない。中毒。
87132人目の素数さん:2009/09/24(木) 12:06:48
age
88132人目の素数さん:2009/12/04(金) 20:06:15
694
89132人目の素数さん:2010/02/04(木) 18:06:30
634
90132人目の素数さん:2010/03/10(水) 18:52:21
310
91132人目の素数さん:2010/03/22(月) 02:06:30
SAS、Windows Vista, Windows 7 でちゃんと動く?
92132人目の素数さん:2010/06/27(日) 11:02:32
391
93132人目の素数さん:2010/07/20(火) 20:33:20
sasで
libname ○○ '○○';
とした後にif使うにはどうしたらいい?
94132人目の素数さん
282