Stata中的按行计数/值总和

脉冲

我有一个数据集,每个人(行)都有值01或者.有许多变量(列)。

我想创建两个变量。一个包含所有的计数,一个包含每个人(行)0的所有计数1就我而言,变量名称中没有模式。由于这个原因,我创建了一个所有现有变量的变量列表,除了不需要计数的变量之外。

 +--------+--------+------+------+------+------+------+----------+--------+
 |   ID   | region |  Qa  |  Qb  |  C3  |  C4  |  Wa  |  count 0 | count 1|
 +--------+--------+------+------+------+------+------+----------+--------+
 |      1 |      A |    1 |    1 |    1 |    1 |    . |        0 |      4 |
 |      2 |      B |    0 |    0 |    0 |    1 |    1 |        3 |      2 |
 |      3 |      C |    0 |    0 |    . |    0 |    0 |        4 |      0 |
 |      4 |      D |    1 |    1 |    1 |    1 |    0 |        0 |      4 |
 +--------+--------+------+------+------+------+------+----------+--------+

以下工作,但是,我不能添加一个if语句

ds ID region, not // all variables in the dataset apart from ID region
return list  
local varlist = r(varlist)
egen count_of_1s = rowtotal(`varlist') 

如果将最后一行更改为下面的一行,则会收到语法无效的错误。

egen count_of_1s = rowtotal(`varlist') if `v' == 1 

我从计数转向求和,因为我认为这是解决问题的一种偷偷摸摸的方法。我可以将值从0,1更改为1、2,然后将两个值分别加到两个不同的变量中,然后进行相应的除法以获得每行1或2的实际计数。

我找到了这个 Stata:使用egen时,每个观察值的变化都会出现anycount(),但是由于我的数据集很大(100.000行和3000列),Stata冻结了。

任何帮助将不胜感激:-)

基于William的回应的解决方案

* number of total valid responses (0s and 1s, excluding . )
ds ID region, not // all variables in the dataset apart from ID region
return list  
local varlist = r(varlist)
egen count_of_nonmiss = rownonmiss(`varlist') // this counts all the 0s and 1s (namely, the non missing values)

* total numbers of 1s per row
ds ID region count_of_nonmiss, not // CAUTION: count_of_nonmiss needs not to be taken into account for this!
return list  
local varlist = r(varlist)    
generate count_of_1s = rowtotal(`varlist')
用户名

怎么样

egen count_of_nonmiss = rownonmiss(`varlist')
generate count_of_0s = count_of_nonmiss - count_of_1s

当宏的值varlist替换为您的if子句时,命令将扩展为

egen count_of_1s = rowtotal(`varlist') if Qa Qb C3 C4 Wa == 1

显然是语法错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL:获取多列中整数值的计数和总和

来自分类Dev

PHP中的数组总和和计数行

来自分类Dev

在R中按组顺序匹配和计数值

来自分类Dev

如何在SQL中按计数值分组

来自分类Dev

PySpark按条件计数值

来自分类Dev

按计数值对字典排序

来自分类Dev

按计数值对字典排序

来自分类Dev

按特定键计数值

来自分类Dev

从另一个表中按另外两个列的计数总和顺序获取表行

来自分类Dev

Mysql 限制按计数总和

来自分类Dev

MySQL:基于两个条件的多列中的整数值的计数和总和

来自分类Dev

awk +简单示例+输出与预期不符+文件中的总和和计数值

来自分类Dev

在SQL Alchemy中按日期计数行

来自分类Dev

Pandas Dataframe - 行迭代,按条件重置计数值,无循环

来自分类Dev

使用熊猫按日期计数值的频率

来自分类Dev

熊猫按列和计数值分组

来自分类Dev

按组求和和计数值

来自分类Dev

值小于行的计数总和

来自分类Dev

阵列中的VBA计数值

来自分类Dev

阵列中的VBA计数值

来自分类Dev

PHP中的意外计数值

来自分类Dev

按组的R中的行和列矩阵总和

来自分类Dev

检查R data.table中的按行NA总和

来自分类Dev

在data.table中按行获取总和

来自分类Dev

R:每列中单元的按行总和

来自分类Dev

Mysql按多个行的总和/或嵌套总和?

来自分类Dev

在熊猫数据框中按行计数编制索引

来自分类Dev

列中R的零和NA的按行计数

来自分类Dev

如何在Postgres中按计数行分组?