私は、Rで行う方法を知っていることと同等のやり方を見つける手助けを依頼することを書いていましたが、ソフトウェアの制限のためにSASで行う必要があります。SAS:流行と豊富によるローのフィルタリング
私は列と機能(私の場合は細菌の名前)の一意のサンプルを行内に持っています。いくつか指摘してきたように、私はこれがまれなデータ構造であることを知っています。
私は、このケースでは、私の品質管理のフィルタリング基準を満たしていない私のテーブルから任意の機能を排除したいと、少なくとも0.01%のセル値とサンプルの少なくとも10%で見つけます:
Rでこれを行うにはは以下のようになります。
豊富/有病率フィルタ
spp.filt <- spp.dat[ apply(spp.dat, 1, function(bug) sum(bug >= 0.01) >= 0.1*ncol(spp.dat)), ]
誰もこれがSASで行うことができますどのように任意のアイデアを持っていますか?
「フィルタの蔓延」または「フィルタの豊富さ」に関連する結果は見つかりませんでしたが、何か助けていただければ幸いです。
他の人が示唆したように、ここでのデータは次のようになります。あなたがSASでこれを行うだろう方法は、「さまざまな数字にあなたを計算するためにお好みのPROCを使用するように簡単になり
sample 1 sample 2 sample 3
feature a 0 0 0.1
feature b 0 0.2 0
feature c 0 0 0
feature d 0.4 0 0.5
コード/サンプルデータを含めるための答えと提案に加えて、データ構造の変更について考慮する必要があります。 SASはマトリックス言語ではないため、データ構造が自分の行っていることに対して適切でない可能性があります。 SASはリレーショナルデータベースに似ていますが、実際にはSQLデータベースと見なすことができ、ほとんどの分野で間違ってはいけません。特定の場所(特に統計上)ではより強力ですが、最適化されていません。ですから、あなたの行/列の配置は、あなたがやっていることに正確に応じて、SASのための良いものではないかもしれません。 – Joe
通常、行のサンプルとその列のサンプルの特性があります。逆のように見えます。これはあなたにとって役に立つと分かるかもしれませんが、このように構造化されていると痛みが増すでしょう。私はあなたの将来に 'PROC TRANSPOSE'を見ます。 – Joe
サンプルデータは、あなたの問題を説明するのに役立ちます。典型的には、行を識別する1つの変数、列を識別する1つの変数、および実際の測定のための1つの変数を有することによって、行列をデータセットに格納することができる。あなたはSampleIDとBacteriaを持っていると言いましたが、実際の測定値は何ですか? – Tom