楼主: frederick2012
4185 9

[数据管理求助] 不借助第三个变量,如何将两个变量的数值互换 [推广有奖]

  • 7关注
  • 32粉丝

已卖:4031份资源

教授

88%

还不是VIP/贵宾

-

威望
0
论坛币
105415 个
通用积分
175.5879
学术水平
78 点
热心指数
91 点
信用等级
62 点
经验
20850 点
帖子
475
精华
1
在线时间
2590 小时
注册时间
2013-8-26
最后登录
2025-12-30

楼主
frederick2012 发表于 2018-7-3 16:59:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
是这样的:
如果a<b,则c与d的值互换,需要处理很多类似的组会,如果借助第三个变量会生成很多中间变量,有无方法能直接实现上述效果呢?
非常感谢!
二维码

扫码加我 拉你入群

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

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


本帖被以下文库推荐

沙发
黃河泉 在职认证  发表于 2018-7-3 17:04:11
你若要问程序,永远附上资料;若要附上资料,永远用 dataex 印出资料;先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

藤椅
frederick2012 发表于 2018-7-3 17:17:56
黃河泉 发表于 2018-7-3 17:04
你若要问程序,永远附上资料;若要附上资料,永远用 dataex 印出资料;先 ssc install dataex (并见说明), ...
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str63 fdschool2 str51 fdschool3 int(fdsch2begin fdsch3begin)
  4. "中央广播电视大学"          "电子科技大学" 15769 17776
  5. ""                                  ""                       .     .
  6. ""                                  ""                       .     .
  7. "City"                              ""                   17623     .
  8. ""                                  ""                       .     .
  9. "北京理工大学"                "北京理工大学" 17410 19418
  10. "中国科学技术信息研究所" ""                   17045     .
  11. "中国农业大学"                ""                   15223     .
  12. ""                                  ""                       .     .
  13. "浙江省东阳中学"             "北京印刷学院" 11932 13027
  14. ""                                  ""                       .     .
  15. "南加州大学"                   ""                   18141     .
  16. "飞行器设计专业硕士学位" ""                   14854     .
  17. "天津工业大学"                ""                   15586     .
  18. "同济大学"                      ""                   15949     .
  19. "山东大学"                      "山东工业大学" 15584 13393
  20. ""                                  ""                       .     .
  21. ""                                  ""                       .     .
  22. "南京理工大学"                ""                   19175     .
  23. ""                                  ""                       .     .
  24. end
  25. format %tdnn/dd/CCYY fdsch2begin
  26. format %tdnn/dd/CCYY fdsch3begin
复制代码

板凳
frederick2012 发表于 2018-7-3 17:19:11
黃河泉 发表于 2018-7-3 17:04
你若要问程序,永远附上资料;若要附上资料,永远用 dataex 印出资料;先 ssc install dataex (并见说明), ...
if fdsch2begin > fdsch3begin,
则fdschool2 与 fdschool3 互换
谢谢!

报纸
黃河泉 在职认证  发表于 2018-7-4 07:14:28
frederick2012 发表于 2018-7-3 17:19
if fdsch2begin > fdsch3begin,
则fdschool2 与 fdschool3 互换
谢谢!
有 missing data 要如何处理?

地板
frederick2012 发表于 2018-7-4 12:37:43
黃河泉 发表于 2018-7-4 07:14
有 missing data 要如何处理?
如果只有fdsch2begin是缺失值,则将fdsch3begin和fdschool3分别赋值到fdsch2begin和fdschool2;
如果只有fdsch3begin是缺失值,则无需处理;
如果fdsch2begin、fdsch3begin都是缺失值,也无需处理。
谢谢!

7
黃河泉 在职认证  发表于 2018-7-4 14:58:07
frederick2012 发表于 2018-7-4 12:37
如果只有fdsch2begin是缺失值,则将fdsch3begin和fdschool3分别赋值到fdsch2begin和fdschool2;
如果只有 ...
1. "如果只有fdsch2begin是缺失值,则将fdsch3begin和fdschool3分别赋值到fdsch2begin和fdschool2" 有这种情况吗?2. 请确认你讲的情形都出现于你的资料中。

8
frederick2012 发表于 2018-7-4 15:37:21
黃河泉 发表于 2018-7-4 14:58
1. "如果只有fdsch2begin是缺失值,则将fdsch3begin和fdschool3分别赋值到fdsch2begin和fdschool2" 有这种 ...
这下好了:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str63 fdschool2 str51 fdschool3 int(fdsch2begin fdsch3begin)
  4. "中央广播电视大学"          "电子科技大学" 15769 17776
  5. ""                                  ""                       .     .
  6. ""                                  ""                       .     .
  7. "City"                              ""                   17623     .
  8. ""                                  ""                       .     .
  9. "北京理工大学"                "北京理工大学" 17410 19418
  10. "中国科学技术信息研究所" ""                   17045     .
  11. "中国农业大学"                ""                   15223     .
  12. ""                                  ""                       .     .
  13. "浙江省东阳中学"             "北京印刷学院" 11932 13027
  14. ""                                  ""                       .     .
  15. "南加州大学"                   ""                   18141     .
  16. "飞行器设计专业硕士学位" ""                   14854     .
  17. "天津工业大学"                ""                   15586     .
  18. "同济大学"                      ""                   15949     .
  19. "山东大学"                      "山东工业大学" 15584 13393
  20. ""                                  ""                       .     .
  21. ""                                  ""                       .     .
  22. "南京理工大学"                ""                   19175     .
  23. ""                                  "北京大学"           . 20824
  24. end
  25. format %tdnn/dd/CCYY fdsch2begin
  26. format %tdnn/dd/CCYY fdsch3begin
复制代码
已有 1 人评分论坛币 热心指数 收起 理由
逐梦的太阳 + 5 + 5 鼓励积极发帖讨论

总评分: 论坛币 + 5  热心指数 + 5   查看全部评分

9
黃河泉 在职认证  发表于 2018-7-4 17:31:15
frederick2012 发表于 2018-7-4 15:37
这下好了:
Nick Cox 建议:
  1. gen FDSCHOOL2 = cond(fdsch2begin < fdsch3begin, fdschool2, fdschool3)
  2. gen FDSCHOOL3 = cond(fdsch2begin < fdsch3begin, fdschool3, fdschool2)
  3. gen FDSC2BEGIN = cond(fdsch2begin < fdsch3begin, fdsch2begin, fdsch3begin)
  4. gen FDSC3BEGIN = cond(fdsch2begin < fdsch3begin, fdsch3begin, fdsch2begin)

  5. drop fd*
  6. rename FD*, lower
  7. format *begin %tdnn/dd/CCYY
复制代码
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
逐梦的太阳 + 5 + 5 + 5 热心帮助其他会员

总评分: 论坛币 + 5  学术水平 + 5  热心指数 + 5   查看全部评分

10
frederick2012 发表于 2018-7-4 20:20:41
黃河泉 发表于 2018-7-4 17:31
Nick Cox 建议:
非常感谢,学习到cond的使用!

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

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