生成包含字符串变量中字符数的变量

Generate variable containing number of characters in a string variable

在调查数据集中,我有一个带有定性响应的字符串变量(类型:str244)。我想计算每个 response/string 中的字符数并生成一个包含该数字的新变量。

使用egenmore我已经用nwords统计了字数,但是我找不到对应的统计字数。

示例:

egen countvar = nwords(stringvar)

其中 countvar 是新变量名,stringvar 是字符串变量。

是否存在这样的egen函数来计算字符数?

没有 egen 功能,因为长期以来 [原文如此] 一直是严格意义上的功能。在最新版本的 Stata 中,该函数称为 strlen() 但旧名称 length() 继续工作:

. sysuse auto
(1978 Automobile Data)

. gen l1 = length(make)

. gen l2 = strlen(make)

. su l?

    Variable |        Obs        Mean    Std. Dev.       Min        Max
-------------+---------------------------------------------------------
          l1 |         74    11.77027    2.155257          6         17
          l2 |         74    11.77027    2.155257          6         17

参见 help functions(e.g.) this tutorial column

. sysuse auto,clear
(1978 Automobile Data)

. tostring price, gen(price1)
price1 generated as str5

. gen l3=length(price1)

. sum l3

    Variable |        Obs        Mean    Std. Dev.       Min        Max

          l3 |         74    4.135135    .3442015          4          5