問題タブ [datastep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sas - SAS Data Step プログラミング - データセットの説明 (obs=0)
以下の (間違った) 例で (obs=0) データ セット オプションを設定すると、データ ステップ ステートメントが処理されない理由を説明していただけますか?
私は通常、work.wrong と work.right の両方が同じ出力を持つことを期待します。
sas - グループ内の分散を最小限に抑えた SAS での自動グループ化
そこで、自動グループ化を構築しようとしました。目標は、最小の分散を持つグループ化設定を選択することです。
つまり、以下のxとyを求めたいのですが、x,yは自然数で、
(分散(グループ1内)、Response
分散Response
(グループ2内)、分散(グループResponse
3内))の合計が最小になるように。
私の考えは、2 つの do ループ (ネストされた) を持つことです。
次に、3 つのグループの分散 (グループ内の応答) の合計が最小になるグループ設定を選択します。
sas - sas に類似した名前の複数のデータセットを設定する
作業環境にさまざまな数のデータセットがあり、そのすべてが似たような名前 (name_abc、name_efg、name_1ky など) で始まるとします。データセットには同じ変数と特性があり、それらすべてを 1 つのデータセットに設定したいと考えています。 .
すべてのデータセットを入力せずに SAS でこれを行う方法はありますか? 作業環境で利用可能なデータセットの数に柔軟に対応できるようにする必要があります。
sas - SQLではなくデータステップを使用してデータセットの列からマクロ変数を作成する方法は?
次の構文を使用して、SAS SQL プロシージャを介してマクロ変数を作成できます。
しかし、データステップにも同じ方法があるのだろうか。
私はデータセットを持っています。
MA
以下のステートメントで呼び出されるマクロ変数を作成できます。
データステップでそれを行う方法は?
sas - SAS: ファイルが存在することを確認してからスタックする
暦年やその他の変数で分割された一連のファイルを調べています。私がやりたかったのは、それらを会計年度ごとに (レコードに存在する日付変数に基づいて) 分割することです。たとえば、FY2010 ファイルを作成するには、CY2009 および CY2010 ファイル (これらのファイルを file_2009 および file_2010 と呼びます) をスタックし、FY2010 レコードにサブセット化する必要があります。ただし、どちらかまたは両方のファイルが存在しない可能性があります。私がやりたかったのは、ファイルの1つが存在しない場合は、もう1つを使用することです。両方が終了する場合は、両方を使用します。それ以外の場合は、何もしません。私が思いついた方法は、私が望むほどコンパクトではありませんでした。これを行う最善の方法に関するアイデアはありますか? ありがとう。
sql - 重複する 2 つのデータセットで一意の組み合わせを選択する
たとえば、SAS では、データセット A (左下) に 5 つの ID があります。データセット B があります (右下にいくつかの A の ID が含まれている可能性があります)。必要なのは、A で 1 つの一意の組み合わせ (A は主要な結果のデータセット) を見つけることであり、B は同性、年齢範囲 5 以内、収入範囲10000 以内です。多くの b.id が a.id とマージされる可能性があります。しかし、これがキックです。b.id は 1 回しか使用できません。この場合、101 は 106 と結合し、102 は 111 と結合し、103 は 112 と結合し、105 は 110 と結合します。うまくいけば、それは十分に明確です。ありがとう!
結果
sas - sas - アカウント ID によるラグ?
これにラグを使用する必要があるかどうかはわかりません。しかし、ここで私がやりたいことです。
これが私が持っているデータです...
これで終わりにしたい…
acct と sort_order でデータセットを並べ替えました。アカウントごとに、最初のタイプ (sort_order に基づく) を取得し、それをそのアカウントの各行にコピーします。たとえば、acct 111111 の最初のタイプは「標準」です。acct 111111 のすべての観測で、タイプとして「標準」が必要です。
ラグで次のことをやってみましたが、うまくいきません...
duplicates - sas data ステップで by ステートメントが実際に行っていることは何ですか?
これは非常に単純なことのように思えますが、sas データステップの「by ステートメント」が実際に何をしているのか説明できません。いつ使用する必要があるかはわかっていますが、何をしているのかわかりません。
以下の例では、first.var と last.var の仮想 sas 列がその値を持っている場合の意味を理解しています。by ステートメントは、var initial と metal の周りにこれらの仮想列を作成していますか? 次に、sas はデータセット全体を 1 回スキャンしていますか?
print dups を実行すると、次のことが期待されます。