如何在sas中使用countw函数(附示例)


您可以使用 SAS 中的COUNTW函数来计算字符串中的单词数。

该函数使用以下语法:

COUNTW(字符串, <字符>, <修饰符>)

金子:

  • string:包含要计数的单词的字符串
  • character :初始化字符列表的可选字符常量
  • 编辑:可选代码,指定字符或符号作为单词之间的分隔符

下面的例子展示了如何在实际中使用这个功能。

示例:如何在 SAS 中使用 COUNTW 函数

假设我们在 SAS 中有以下数据集:

 /*create dataset*/
data my_data;
    input phrase $char50. ;
    datalines ;
Hey_everyone
What's going on today
Wow, what a great day
Let's have fun
We should play basketball
This weather is so so awesome
;
run ;

/*view dataset*/
proc print data =my_data;

以下代码演示如何使用COUNTW函数创建一个新列,显示表达式列每行中的单词数:

 /*create new dataset that shows number of words in each row*/
data new_data;
    set my_data;
    word_count = countw (phrase);
run ;

/*view new dataset*/
proc print data =new_data; 

默认情况下, COUNTW函数仅将空格视为单词之间的分隔符。

所以:

  • 第一句中没有空格,因此 COUNTW 函数总共只计算一个单词。
  • 第二句中有 3 个空格,因此 COUNTW 函数总共有4 个单词。
  • 第三句中有四个空格,因此 COUNTW 函数总共有5 个单词。

等等。

但是,我们可以指定一个修饰符列表,这些修饰符也算作单词之间的分隔符。

例如,我们可以使用以下语法来指定空格和下划线都应被视为单词之间的分隔符:

 /*create new dataset that shows number of words in each row*/
data new_data;
    set my_data;
    word_count = countw (phrase, '_');
run ;

/*view new dataset*/
proc print data =new_data; 

新的word_count列现在可以准确地计算第一句中的单词数,因为我们澄清了下划线也应该被视为单词之间的分隔符。

注意:您可以在此处找到 SAS COUNTW函数的完整文档。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

SAS中如何从字符串中提取数字
SAS中SUBSTR函数的使用方法
如何从SAS中的字符串中删除特殊字符

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注