我正在对大量用户输入的数据进行Proc Freq,我想知道是否可以根据第一列的内容合并结果行。
答案 0 :(得分:0)
您似乎想执行第一个单词(或列的第一个scan
开头部分)的频率。在这种情况下,将需要进行数据处理,以将较长的值减小为期望的缩短值(以不同的变量进行频率合并)。
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
一样)