私はdate1-date99のデータセットを持っていますが、観測ごとに欠損していない日付が最大で5つあります。私は不足していない日付を保持してdatenew1-datenew5に割り当てたいだけです。これを行うための最善の方法に関する提案。私は他のdoループ(i = 1〜5、j = 1〜99)の中でループをやっていると思っていましたが、最初の欠けていない日付がいったんあったら、次の値に移る最善の方法を覚えていませんでした発見されました。SAS:配列から欠損値を保持する
0
A
答えて
0
私は、これはそれをしないと思う:
data have;
informat total_nonmissing;
do j = 1 to 1000; /*Number of rows to output*/
array date[99];
chosen = 0;
remaining = dim(date);
do i = 1 to remaining;
call missing(date[i]);
if ranuni(2) < (5-chosen)/remaining then do;
date[i] = round(ranuni(1)*10000);
chosen + 1;
remaining + (-1);
end;
end;
total_nonmissing = n(of date{*});
format date: yymmdd10.;
output;
drop i j chosen remaining;
end;
run;
data want;
set have;
array newdate[5];
array date[99];
j = 1;
do i = 1 to dim(date);
if not(missing(date[i])) then do;
newdate[j] = date[i];
j + 1;
end;
end;
format newdate: yymmdd10.;
keep newdate:;
run;
+0
ありがとう、user667489。これは完全に機能しました! –
+0
SAS doループの優れた機能の1つは、複合条件があることです。したがって、doループを次のように変更して配列のインデックスエラーを防ぐことができます。 'do i = 1〜dim(date)while(j <= dim(newdate));'これはNEWDATE配列が埋められた日付を探すのを止めるでしょう。 – Tom
関連する問題
- 1. 欠損値を持つint配列numpy
- 2. 欠損値を持つデータフレームの整列
- 3. SAS Retain文 - 比較のために以前の欠損値を新しい列に保持する方法
- 4. SASは欠損値と欠損値をどのように区別しますか?
- 5. SASでNULLに欠損値を設定する方法
- 6. SASで欠損値をゼロとして処理するwhere節
- 7. SASの欠損値を置き換えます
- 8. SAS procレポートの順序を欠損値なしで
- 9. 欠損値を持つExcel平均
- 10. 欠損値を持つPHPのusort
- 11. ナンシーマスクされた配列 - 欠損値を示す
- 12. ggmap - 欠損値
- 13. パネルデータセットからの欠損値のクリア
- 14. から欠損値のテーブルへ
- 15. SAS:欠損値を最近隣の平均値に置き換える
- 16. ファイルに「欠損した配列値」を書き込む
- 17. 相違行列の欠損値を持つ多次元スケーリング
- 18. SAS個々の観測値に欠損値を作成します。
- 19. applescriptクリック欠損値
- 20. 上の行の値を持つ列に欠損値を追加します。
- 21. キャレットによる欠損値
- 22. 欠損値を持つデータフレームを座標でマージする
- 23. Spark:欠損値を持つDataFrameの相関を計算する
- 24. SAS - 欠損値の置換 "。"数値は0ではなく、日付
- 25. 同じデータセット内の欠損値を欠損値に置き換えること
- 26. クエリから欠損値を取得する方法は?
- 27. データセットから欠損値を抽出する
- 28. モデルパフォーマンス計算から欠損値を除外する
- 29. 配列内の値を保持する
- 30. リストに欠損値を挿入する
では、新しいアレイ内の任意の特定の順序であることを非欠落している日付は必要ですか? – user667489
はい、元のデータのままにするための注文が必要です。たとえば、元の:date1 = 1Jan1980、date2 =。、date3 = 5Feb1980、新しいデータセットにdatenew1 = 1Jan1980、datenew2 = 5Feb1980を設定します。ありがとう。 –
元のデータセットの日付は昇順になっていますか? – user667489