teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

とりあえずループを回しました

2019/09/10 09:37

投稿

Blank
Blank

スコア17

title CHANGED
File without changes
body CHANGED
@@ -19,7 +19,7 @@
19
19
 
20
20
  ```SAS
21
21
  data ngram;
22
- set tmp;
22
+ set tmp; /* オブザベーション10,000件 */
23
23
    /*オブザベーションごとに長さの違うtextから単語数を抽出*/
24
24
  n = countw(text);
25
25
  do i=1 to n;
@@ -28,4 +28,25 @@
28
28
  end;
29
29
  drop i;
30
30
  run;
31
+ ```
32
+
33
+
34
+ 追記
35
+ ---
36
+ 一応この形でループを回しましたが、処理がバカみたいに重いです。
37
+ スマートな形ともあまり思えず、より良い方法を知りたいです。
38
+ ```SAS
39
+ data ngram;
40
+ set tmp; /* オブザベーション10,000件 */
41
+   /* 出力データからnの最大値を一度確認する */
42
+ n = countw(text);
43
+   /* max(n)=950 */
44
+   array ngram(950) $ n_1-n_950;
45
+ do i=1 to n;
46
+ /*これを配列に格納したい*/
47
+ tmpNGRAM = scan(text,i,' ');
48
+      ngram(i) = tmpNGRAM;
49
+ end;
50
+ drop i;
51
+ run;
31
52
  ```