楼主: StudentNancy
1144 6

[数据管理求助] stata数据操作求助 [推广有奖]

  • 6关注
  • 5粉丝

已卖:256份资源

博士生

36%

还不是VIP/贵宾

-

威望
0
论坛币
2608 个
通用积分
16.2688
学术水平
3 点
热心指数
3 点
信用等级
3 点
经验
2985 点
帖子
80
精华
0
在线时间
396 小时
注册时间
2016-11-27
最后登录
2025-11-24

楼主
StudentNancy 发表于 2021-6-18 16:26:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教各位大神:
v1                     v2                          v3
1                      2                            3                                               
3                      4                            5     
6                      7                            8  想要实现:1.如果第一行的v3和下一行的v1相等(数字)或相同(文字),那么删除下一行,即第二行。   

                 2.如果第一行的v3包括下一行的v1(文字),那么删除下一行,即第二行。(不知道是是否要用到匹配)  
在线等~ 请各位不吝赐教~
二维码

扫码加我 拉你入群

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

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

关键词:STATA数据 Stata tata 不知道 在线等

沙发
zdlspace 学生认证  发表于 2021-6-18 19:18:57
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input str1 v1 double v2 str1 v3
  4. "1" 2 "3"
  5. "3" 6 "4"
  6. "4" 6 "5"
  7. "3" 6 "6"
  8. end
  9. local d=v3[_n==1]
  10. drop if v1=="`d'"
  11. list,noobs

  12. +--------------+
  13. | v1   v2   v3 |
  14. |--------------|
  15. |  1    2    3 |
  16. |  4    6    5 |
  17. +--------------+
复制代码

藤椅
zdlspace 学生认证  发表于 2021-6-18 19:20:57
上面是文本型,如果是数字,
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input double v1 double v2 double v3
  4. 1 2 3
  5. 3 6 4
  6. 4 6 5
  7. 3 6 6
  8. end
  9. local d=v3[_n==1]
  10. drop if v1==`d'
  11. list,noobs

  12. +--------------+
  13. | v1   v2   v3 |
  14. |--------------|
  15. |  1    2    3 |
  16. |  4    6    5 |
  17. +--------------+
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

板凳
StudentNancy 发表于 2021-6-19 14:32:12
zdlspace 发表于 2021-6-18 19:18
先谢谢提供的答案,很有启发。但想再问下,如果不一定是第一行而是任意一行,如何做,就是_n不一定等于1。还有就是,下一行的v1可能只是上一行v3的一部分(可能是一串字符串中的一部分)如何处理?谢谢!

报纸
zdlspace 学生认证  发表于 2021-6-19 14:57:16
先搞清楚你到底想要什么样子的,用dataex发数据,把你最终想要的也发上来,我听不明白你的需求,你说的任意一行是什么意思,如果只是一行,那就把n==1换程那一行。

地板
StudentNancy 发表于 2021-6-19 16:22:10
zdlspace 发表于 2021-6-19 14:57
先搞清楚你到底想要什么样子的,用dataex发数据,把你最终想要的也发上来,我听不明白你的需求,你说的任意 ...
数据处理前
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input str9 v1 strL v2 str9 v3 strL v4
  5. "1"         "大富"                "已回复" "您好!"                        
  6. "1"         "大富"                "已回复" "您好!详细"                  
  7. "1"         "小明"                "已回复" "您好!详细情况"            
  8. "已回复" "您好!详细情况" ""          ""                                 
  9. "1"         "小明"                "已回复" "您好!谢谢!"               
  10. "1"         ""                      ""          ""                                 
  11. "1"         ""                      ""          ""                                 
  12. "已回复" "您好!谢谢!"    ""          ""                                 
  13. "1"         "小明"                "已回复" "您好!应该的!不客气!"
  14. "已回复" "应该的!"          ""          ""                                 
  15. end
复制代码

[/code]数据处理后
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input str9 v1 strL v2 str9 v3 strL v4
  5. "1" "大富" "已回复" "您好!"                        
  6. "1" "大富" "已回复" "您好!详细"                  
  7. "1" "小明" "已回复" "您好!详细情况"            
  8. "1" "小明" "已回复" "您好!谢谢!"               
  9. "1" "小明" "已回复" "您好!应该的!不客气!"
  10. end
复制代码

处理前的第8、12、14行分别代表根据v2和v4判断的要删除的三种情况:相等,隔行相等,部分相等。
不是一行,是任意一行及其下一行或隔行。







7
StudentNancy 发表于 2021-6-19 16:31:41
zdlspace 发表于 2021-6-19 14:57
先搞清楚你到底想要什么样子的,用dataex发数据,把你最终想要的也发上来,我听不明白你的需求,你说的任意 ...
数据处理前
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input str9 v1 strL v2 str9 v3 strL v4
  5. "1"         "大富"             "已回复" "您好"                  
  6. "1"         "大富"             "已回复" "您好详细"            
  7. "1"         "小明"             "已回复" "您好详细情况"      
  8. "已回复" "您好详细情况" ""          ""                        
  9. "1"         "小明"             "已回复" "您好谢谢"            
  10. "1"         ""                   ""          ""                        
  11. "1"         ""                   ""          ""                        
  12. "已回复" "您好谢谢"       ""          ""                        
  13. "1"         "小明"             "已回复" "您好应该的不客气"
  14. "已回复" "应该的"          ""          ""                        
  15. end
复制代码

[/code]数据处理后
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input str9 v1 strL v2 str9 v3 strL v4
  5. "1" "大富" "已回复" "您好"                  
  6. "1" "大富" "已回复" "您好详细"            
  7. "1" "小明" "已回复" "您好详细情况"      
  8. "1" "小明" "已回复" "您好谢谢"            
  9. "1" "小明" "已回复" "您好应该的不客气"
  10. end
复制代码

[/code]数据处理前的8、12、14行分别代表根据v2和v4判断的要删除的三种情况:相等,隔行相等,部分相等。
不是一行,是任意一行及其下一行或隔行。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-5 01:44