質問編集履歴

1

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

2019/09/10 09:37

投稿

Blank
Blank

スコア17

test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  data ngram;
42
42
 
43
- set tmp;
43
+ set tmp; /* オブザベーション10,000件 */
44
44
 
45
45
    /*オブザベーションごとに長さの違うtextから単語数を抽出*/
46
46
 
@@ -59,3 +59,45 @@
59
59
  run;
60
60
 
61
61
  ```
62
+
63
+
64
+
65
+
66
+
67
+ 追記
68
+
69
+ ---
70
+
71
+ 一応この形でループを回しましたが、処理がバカみたいに重いです。
72
+
73
+ スマートな形ともあまり思えず、より良い方法を知りたいです。
74
+
75
+ ```SAS
76
+
77
+ data ngram;
78
+
79
+ set tmp; /* オブザベーション10,000件 */
80
+
81
+   /* 出力データからnの最大値を一度確認する */
82
+
83
+ n = countw(text);
84
+
85
+   /* max(n)=950 */
86
+
87
+   array ngram(950) $ n_1-n_950;
88
+
89
+ do i=1 to n;
90
+
91
+ /*これを配列に格納したい*/
92
+
93
+ tmpNGRAM = scan(text,i,' ');
94
+
95
+      ngram(i) = tmpNGRAM;
96
+
97
+ end;
98
+
99
+ drop i;
100
+
101
+ run;
102
+
103
+ ```