楼主: 654525937
6737 10

[编程问题求助] 如何把多行合并为一行? [推广有奖]

  • 3关注
  • 2粉丝

已卖:257份资源

讲师

8%

还不是VIP/贵宾

-

威望
0
论坛币
11394 个
通用积分
29.5780
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
1091 点
帖子
53
精华
0
在线时间
749 小时
注册时间
2015-11-29
最后登录
2025-12-5

楼主
654525937 发表于 2018-10-27 16:16:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
<如何把上边的变成下边的呢?
firmid    year    J
291374    2004    开曼群岛
291374    2004    美国
291374    2004    开曼群岛
291374    2004    开曼群岛
291374    2004    开曼群岛
291374    2004    开曼群岛
301708    2007    加拿大
301708    2007    澳大利亚
301708    2007    英属维尔京群岛
301708    2007    加拿大
301708    2007    澳大利亚
301708    2007    加拿大
301708    2007    英属维尔京群岛
301708    2007    澳大利亚
301708    2007    澳大利亚




二维码

扫码加我 拉你入群

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

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

关键词:Stata

回帖推荐

蓝色 发表于10楼  查看完整内容

原来那个程序值合并了2个名字 下面这个在原来基础上进行了改进

铁锷未残 发表于7楼  查看完整内容

根据蓝色的建议做出如下改进,在此对蓝色表示感谢。

沙发
654525937 发表于 2018-10-27 16:16:56
301708  2007  加拿大、澳大利亚、英属维尔京群岛

藤椅
黃河泉 在职认证  发表于 2018-10-27 16:54:54
1. 你要不要重发一次,完全看不懂你的问题。2. 你若要问程序,永远附上相关资料;若附上资料,永远用 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

板凳
铁锷未残 学生认证  发表于 2018-10-28 00:59:01
  1. clear
  2. input firmid year str20 J
  3. 291374    2004    开曼群岛
  4. 291374    2004    美国
  5. 291374    2004    开曼群岛
  6. 291374    2004    开曼群岛
  7. 291374    2004    开曼群岛
  8. 291374    2004    开曼群岛
  9. 301708    2007    加拿大
  10. 301708    2007    澳大利亚
  11. 301708    2007    英属维尔京群岛
  12. 301708    2007    加拿大
  13. 301708    2007    澳大利亚
  14. 301708    2007    加拿大
  15. 301708    2007    英属维尔京群岛
  16. 301708    2007    澳大利亚
  17. 301708    2007    澳大利亚
  18. end
  19. duplicates drop firmid year J, force
  20. bysort firmid year: gen var1 = J + "、" + J[_n-1]
  21. bysort firmid year: keep if var1 == var1[_N]
  22. drop J
  23. list
复制代码


最后的结果,字符串中存在一个奇怪的符号,你注意到了吗
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
长秋有一年187 + 1 + 1 + 1 精彩帖子

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

报纸
蓝色 发表于 2018-10-28 16:42:46
铁锷未残 发表于 2018-10-28 00:59
最后的结果,字符串中存在一个奇怪的符号,你注意到了吗
你设置的字符长度不够
str48  设置长点就没有问题了
已有 1 人评分经验 热心指数 收起 理由
铁锷未残 + 20 + 1 热心帮助其他会员

总评分: 经验 + 20  热心指数 + 1   查看全部评分

地板
铁锷未残 学生认证  发表于 2018-10-29 10:57:43
蓝色 发表于 2018-10-28 16:42
你设置的字符长度不够
str48  设置长点就没有问题了
谢谢你
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
长秋有一年187 + 1 + 1 + 1 精彩帖子

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

7
铁锷未残 学生认证  发表于 2018-10-29 11:05:45


根据蓝色的建议做出如下改进,在此对蓝色表示感谢。

  1. clear
  2. input firmid year str90 J
  3. 291374    2004    开曼群岛
  4. 291374    2004    美国
  5. 291374    2004    开曼群岛
  6. 291374    2004    开曼群岛
  7. 291374    2004    开曼群岛
  8. 291374    2004    开曼群岛
  9. 301708    2007    加拿大
  10. 301708    2007    澳大利亚
  11. 301708    2007    英属维尔京群岛
  12. 301708    2007    加拿大
  13. 301708    2007    澳大利亚
  14. 301708    2007    加拿大
  15. 301708    2007    英属维尔京群岛
  16. 301708    2007    澳大利亚
  17. 301708    2007    澳大利亚
  18. end
  19. duplicates drop firmid year J, force
  20. bysort firmid year: gen var1 = J + "、" + J[_n-1]
  21. bysort firmid year: keep if var1 == var1[_N]
  22. drop J
  23. list
复制代码

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Stakiny + 2 + 2 + 2 热心帮助其他会员

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

世界上没有谁优不优秀,逼到绝路谁都卓越;有了退路,谁都平庸;世界上有条很长很美的路叫做梦想,还有堵很高很硬的墙叫现实;翻越那堵墙,叫做坚持;推倒那堵墙,叫做突破。

8
654525937 发表于 2018-10-30 11:28:20
铁锷未残 发表于 2018-10-29 11:05
根据蓝色的建议做出如下改进,在此对蓝色表示感谢。
感谢!

9
654525937 发表于 2018-10-30 11:28:50
铁锷未残 发表于 2018-10-28 00:59
最后的结果,字符串中存在一个奇怪的符号,你注意到了吗
感谢您的回复!学到了!

10
蓝色 发表于 2018-11-1 21:29:08
原来那个程序值合并了2个名字
下面这个在原来基础上进行了改进
  1. clear
  2. input firmid year str40 J
  3. 291374    2004    开曼群岛
  4. 291374    2004    美国
  5. 291374    2004    开曼群岛
  6. 291374    2004    开曼群岛
  7. 291374    2004    开曼群岛
  8. 291374    2004    开曼群岛
  9. 301708    2007    加拿大
  10. 301708    2007    澳大利亚
  11. 301708    2007    英属维尔京群岛
  12. 301708    2007    加拿大
  13. 301708    2007    澳大利亚
  14. 301708    2007    加拿大
  15. 301708    2007    英属维尔京群岛
  16. 301708    2007    澳大利亚
  17. 301708    2007    澳大利亚
  18. 301708    2007    美国
  19. end

  20. duplicates drop firmid year J, force

  21. bysort firmid year: gen        var1 = J if _n==1
  22. bysort firmid year: replace    var1 = J + "、" + var1[_n-1] if _n>1
  23. bysort firmid year: keep if var1 == var1[_N]
  24. drop J
  25. list
复制代码
  1. . list

  2.      +--------------------------------------------------------+
  3.      | firmid   year                                     var1 |
  4.      |--------------------------------------------------------|
  5.   1. | 291374   2004                           美国、开曼群岛 |
  6.   2. | 301708   2007   美国、英属维尔京群岛、澳大利亚、加拿大 |
  7.      +--------------------------------------------------------+

  8. .
复制代码


已有 2 人评分学术水平 热心指数 信用等级 收起 理由
Stakiny + 3 + 3 + 3 精彩帖子
654525937 + 1 + 1 精彩帖子

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

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

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