楼主: W160802193903KS
5895 6

[面板数据求助] 【求助!】STATA怎么横向统计非零值的个数??? [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

初中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
23 点
帖子
2
精华
0
在线时间
31 小时
注册时间
2019-2-17
最后登录
2020-5-7

楼主
W160802193903KS 发表于 2020-3-26 10:18:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
【求助!】STATA怎么横向统计非零值的个数???
我想看每行的非零值个数,没有找到合适的命令
还请大神指教!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata stata 横向 计数

沙发
蓝色 发表于 2020-3-26 13:22:52
安装egenmore命令
里面有函数
rcount

  1.     rcount(varlist) , cond(condition) [ symbol(symbol) ] returns the number of variables in varlist for which the condition
  2.         specified is true. The condition should be specified using symbol(), by default @, as a placeholder for each variable.
  3.         Thus, for example, rcount(varlist), c(@ > 0 & @ < .) counts for each observation how many variables in varlist are
  4.         positive and non-missing. Note that conditions typically make sense only if variables are either all numeric or all
  5.         string: one exception is missing(@).  More precisely, rcount() gives the sum across varlist of condition, evaluated in
  6.         turn for each variable. (Stata 6 required.)

  7.     For rall(), rany(), and rcount(), the symbol() option may be used to set an alternative to @ whenever the latter is
  8.     inappropriate. For example, if string variables were being searched for literal occurrences of "@", some other symbol not
  9.     appearing in text or in variable names should be used.

  10.     . egen any = rany(b c d e f) , c(@ == a)
  11.     . egen all = rall(b c d e f) , c(@ == a)
  12.     . egen count = rcount(b c d e f) , c(@ == a)
  13.     (values of b c d e f matched by (equal to) those of a?)

  14.     . egen anyw1 = rany(b c d e f) , c(abs(@ - a) <= 1)
  15.     . egen allw1 = rall(b c d e f) , c(abs(@ - a) <= 1)
  16.     . egen countw1 = rcount(b c d e f) , c(abs(@ - a) <= 1)
  17.     (values of b c d e f within 1 of those of a?)
复制代码

藤椅
我的刁蛮太玄 发表于 2023-10-12 17:52:45
蓝色 发表于 2020-3-26 13:22
安装egenmore命令
里面有函数
rcount
这个命令咋安装呀,我一直装不上

板凳
我的刁蛮太玄 发表于 2023-10-12 19:00:06
我的刁蛮太玄 发表于 2023-10-12 17:52
这个命令咋安装呀,我一直装不上
我安装成功了,校园网速太差,换了热点

报纸
我的刁蛮太玄 发表于 2023-10-14 20:44:18
egen number = rcount(var1 var2 var3 ), c(@ > 0 & @ < .)

地板
赵安豆 发表于 2024-5-7 14:51:39
在STATA中,你可以使用`count()`函数结合`if`条件来统计每行非零值的个数。下面是一个示例:

```stata
foreach var of varlist your_variables {
    generate count_`var' = sum(if `var' != 0)
}
```

请将`your_variables`替换为你要统计的变量名列表,用空格隔开。这会生成一个新的变量,如`count_var1`、`count_var2`等,分别表示原变量中非零值的数量。

如果你希望一次性对所有变量进行操作,且它们都在同一列上,可以使用矩阵方法:

```stata
local vars : varlist your_variables
mata: N = st_nobs()
mata: Z = st_data(., tokens(cols))
mata: C = J(N, 1, .)
forv i = 1/`: word count `vars'' {
     C = C + (Z[,`: word `i' of `vars''] != 0)'
}
mata: st_store(., "count_all", C)
```

这将创建一个名为`count_all`的新变量,其中包含每行非零值的总个数(所有指定变量)。

请注意替换`your_variables`为你的实际变量名。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



7
Sebastiantrbl 发表于 2024-11-20 17:17:00
超级感谢!找了全网终于成功了

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-21 19:52