我在大量用户输入的数据做一个Proc频率,我想知道我是否可以结合基于第一列的内容结果行。
你似乎要执行的第一个字(或列的第一个scan
ned部分)的频率。这样的情况下将需要的数据操作,以减少长值到所需的值缩短,在一个不同的变量,是频率离散化。
data have;
input;
user_entered_data = _infile_;
datalines;
Nyfaria - January
Nyfaria - Febuary
Michelangelo - January
Michelangelo - Feburary
run;
data have_for_freq;
set have;
item = scan (user_entered_data,1,' ');
run;
options nocenter;
ods noproctitle;
proc freq data=have_for_freq;
title "Freq of raw data";
table user_entered_data;
run;
proc freq data=have_for_freq;
title "Freq of raw data formatted as $4.";
table user_entered_data;
format user_entered_data $4.;
run;
proc freq data=have_for_freq;
title "Freq of raw data - item scanned out";
table item;
run;
注意:在某些情况下,你可以使用format
控制原始值映射到一个报告值。没有格式返回一个值的第一个“单词”(如scan
一样)