首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Stata:反向排序

Stata:反向排序
EN

Stack Overflow用户
提问于 2021-02-20 00:41:51
回答 1查看 36关注 0票数 0

我有一个数据集,看起来像这样:

代码语言:javascript
运行
复制
id varA  varB   varC
1   0     10    .
1   0     20    .
1   0     35    .
2   1     60    76
2   1     76    60 
2   0     32    .

我想创建一个varC,它只对varA=1和missing这两个值颠倒varB的顺序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-22 05:49:31

这可能会有所帮助:

代码语言:javascript
运行
复制
clear 
input id varA  varB   varC
1   0     10    .
1   0     20    .
1   0     35    .
2   1     60    76
2   1     76    60 
2   0     32    .
end 

gen group = sum(id != id[_n-1] | varA != varA[_n-1])
sort group, stable 
by group: gen wanted = cond(varA == 1, varB[_N - _n + 1], .)

list id var* wanted, sepby(id varA) 

     +----------------------------------+
     | id   varA   varB   varC   wanted |
     |----------------------------------|
  1. |  1      0     10      .        . |
  2. |  1      0     20      .        . |
  3. |  1      0     35      .        . |
     |----------------------------------|
  4. |  2      1     60     76       76 |
  5. |  2      1     76     60       60 |
     |----------------------------------|
  6. |  2      0     32      .        . |
     +----------------------------------+
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66281588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档