Stata 在字符串变量中查找最频繁的单词

Stata 在字符串变量中查找最频繁的单词,stata,Stata,我有一个不同颜色的字符串变量: gen cols="red green red red blue maroon green pink" 我想找出此列表中出现频率最高的颜色 我尝试了count命令,但这会产生错误的结果。有一个社区贡献的命令可以在一个命令中执行此操作选项卡拆分来自tab_chi,设计用于此目的 clear input strL (colors numbers) "red green red red blue maroon green pink" "87 45 65 87 9

我有一个不同颜色的字符串变量:

gen cols="red green red red blue maroon green pink"
我想找出此列表中出现频率最高的颜色


我尝试了
count
命令,但这会产生错误的结果。

有一个社区贡献的命令可以在一个命令中执行此操作选项卡拆分来自
tab_chi
,设计用于此目的

clear 

input strL (colors numbers) 
"red green red red blue maroon green pink" "87 45 65 87 98 12 90 43"
end

tabsplit colors, sort 

     colors |      Freq.     Percent        Cum.
------------+-----------------------------------
        red |          3       37.50       37.50
      green |          2       25.00       62.50
       blue |          1       12.50       75.00
     maroon |          1       12.50       87.50
       pink |          1       12.50      100.00
------------+-----------------------------------
      Total |          8      100.00


tabsplit numbers, sort 

    numbers |      Freq.     Percent        Cum.
------------+-----------------------------------
         87 |          2       25.00       25.00
         12 |          1       12.50       37.50
         43 |          1       12.50       50.00
         45 |          1       12.50       62.50
         65 |          1       12.50       75.00
         90 |          1       12.50       87.50
         98 |          1       12.50      100.00
------------+-----------------------------------
      Total |          8      100.00

. 

按照其帮助中的说明进行编辑,
tabsplit
允许根据需要选择
制表
,包括用于保存结果的选项。但是,这在这里并不是特别有用,因为
matrow()
不适用于字符串变量。这不是直接记录的,而是遵循Stata矩阵不能容纳字符串的原则
matcell()
在这里起作用,但仅了解频率并没有特别大的帮助。总体原则是,对于许多涉及字符串中的单词的问题,字符串变量的每个值中都有单个单词的结构更容易处理

欢迎来到堆栈溢出。请阅读以获取有关编写Stata相关问题的帮助,这些问题对本网站的所有用户都很有用。非常好!我得承认我对你的命令一无所知。谢谢!时间不长。它让
拆分
堆叠
制表
完成大部分工作。@Suji
matcell
在您看到
制表
输出的情况下可以工作。但是,如果您试图编写一系列这样的计算程序,就不可能知道哪个值(此处的颜色/数字)对应于最高频率。