我有关键字列表;公司,房地产,竞争,贸易,争议
我希望能够计算这些关键字在列practice_area1-Practice_area10之间出现的次数。因此,我想扫描10列并创建新列。每个新列将代表每个关键字(上方)和计数值,例如公司4
一旦这个语句运行了,我们就有了新的列,我想创建一个新的变量“Practice Group”,它填充了我们刚创建的新变量的最大数量。下面的数据集是数据外观的示例:
请有人能就这方面的最佳方法向我提出一些建议吗?
非常感谢
克里斯
答案 0 :(得分:0)
您需要做的就是对要检查的所有列使用makean数组。然后使用count函数循环遍历每个列以查找要检查的单词,并在循环中添加计数。 下面的代码是检查三列和三个值。您可以根据需要将此代码应用于任意数量的列。
data have(drop= i);
col1 = 'CORPORATE, REAL ESTATE, REAL ESTATE';
col2= 'CORPORATE, CORPORATE, TRADE, TRADE, TRADE, REAL ESTATE';
col3= 'TRADE, TRADE, DISPUTE,REAL ESTATE';
array col[*] col1 - col3;
realestate=0;/*starting with zero*/
trade=0;
corporate= 0;
do i = 1 to 3;
realestate =realestate+count( col(i), 'REAL ESTATE');/* adding through the loop*/
TRADE =trade+count( col(i), 'TRADE');
CORPORATE= corporate+count( col(i), 'CORPORATE');
end;
run;