2016-05-05 3 views
-1

選択したグループをデータセットとしてSASでttestを実行するにはどうすればよいですか?

Group | x | y 
A  135 12 
B  281 32 
C  221 2 
A  201 4 
B  294 4 
C  950 ... etc 

のように私はそれについてt検定を実行しようとしていますが、唯一の接頭辞AまたはC

を持つグループに私が使用することはできません私は、グループの文字でそれぞれ標識、数字のグループを持っていますデータ= "ステートメント。 これまでのところ私は持っています

proc ttest where group = 'A', 'C' 
    var x y; 
run; 

しかし、これは機能しません。どんな助け?

+0

セミコロン ';' 'proc ttest;ここで、group = 'A'、 'C​​' var x y;実行; ' –

+0

私はそれを正確に行うだろうか?どこでも構文サンプルを見つけることができますか? – bZhang

+0

したがって、 'proc ttest data = dataname;ここで、Group =" A "OR Group =" C "; var x y; run; 'うまくいくよ –

答えて

-1
proc ttest; 
    where group = 'A' or 'C'; 
    var x y; 
run; 
+0

そのコードは正しくない、またはそのように使用することはできません。私のコメントに記載されているようにINを使用してください。 – Reeza

+0

このコードはテスト済みで動作しています。なぜあなたはすべてを指示しなければならないのか分かりません。 – bZhang

+0

もう一度試してみてください。間違っています。あなたのコードのwhere条件は、A/Cレコードをフィルタリングしません。それはあなたがしたいことではない場合、私の謝罪。しかし、私は正しいとお金を賭けるだろう。 – Reeza

1

ここに行く:

proc ttest data=dataname; 
where Group="A" OR Group="C"; 
var x y; 
run; 
0

を使用できORしかし、あなたは、変数を毎回リストする必要があります。

Where Group = 'A' OR Group = 'B'; 

それとも、

Where Group in ('A', 'B'); 
で使用できます

ここには実例があります。 check_whereテーブルの結果を確認します。そして、t検定の異なる結果、具体的には異なるp値とNを見て、あなたが異なるデータを使っていることを示します。がんばろう。

data have; 
input Group $ x y; 
cards; 
A  135 12 
B  281 32 
C  221 2 
A  201 4 
B  294 4 
C  950 8 
; 
run; 

data check_where; 
set have; 
where group='A' or 'C'; 
run; 

proc ttest data=have; 
    where group = 'A' or 'C'; 
    var x y; 
run; 

proc ttest data=have; 
where group in ('A', 'B'); 
var x y; 
run; 
関連する問題