楼主: 满城叶
16644 7

[数据管理求助] 取一列中的最大值 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

78%

还不是VIP/贵宾

-

威望
0
论坛币
8958 个
通用积分
2.5524
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
241 点
帖子
24
精华
0
在线时间
369 小时
注册时间
2011-8-29
最后登录
2024-2-22

50论坛币

请问各位同学,我想新生成一列变量,这个变量是取第一列中的最大值,比如这里1 6 7中的7,请问怎么做呢?
谢谢大家!
捕获.PNG

最佳答案

关键词:最大值 怎么做 最大值
沙发
蓝色 发表于 2016-2-2 22:25:17 |只看作者 |坛友微信交流群
  1. input ///
  2. str10 x
  3. "1,6,7"
  4. "1,5,8,3"
  5. "5,6"
  6. "8,2,1"
  7. end

  8. split x, p(,) gen(new) destring
  9. egen vmax=rmax(new1-new4)
  10. list
复制代码
  1. . clear

  2. . input ///
  3. > str10 x

  4.               x
  5.   1. "1,6,7"
  6.   2. "1,5,8,3"
  7.   3. "5,6"
  8.   4. "8,2,1"
  9.   5. end

  10. .
  11. . split x, p(,) gen(new) destring
  12. variables born as string:
  13. new1  new2  new3  new4
  14. new1 has all characters numeric; replaced as byte
  15. new2 has all characters numeric; replaced as byte
  16. new3 has all characters numeric; replaced as byte
  17. (1 missing value generated)
  18. new4 has all characters numeric; replaced as byte
  19. (3 missing values generated)

  20. . egen vmax=rmax(new1-new4)

  21. . list

  22.      +--------------------------------------------+
  23.      |       x   new1   new2   new3   new4   vmax |
  24.      |--------------------------------------------|
  25.   1. |   1,6,7      1      6      7      .      7 |
  26.   2. | 1,5,8,3      1      5      8      3      8 |
  27.   3. |     5,6      5      6      .      .      6 |
  28.   4. |   8,2,1      8      2      1      .      8 |
  29.      +--------------------------------------------+
复制代码

使用道具

藤椅
nmzhaozhouhua 发表于 2016-2-3 18:21:48 |只看作者 |坛友微信交流群
从你截取的图片来看,该变量是字符型变量,操作方法如下:第一步:substr 把7提取出来,生成一个变量,一般这个变量也是字符型变量。第二部,用destring 命令转化为数字型的 。命令的使用方法,可以help。

使用道具

板凳
夏目贵志 发表于 2016-2-6 11:01:29 |只看作者 |坛友微信交流群
提供一个思路
1.把都好换成空格,用subinstr()
2.每个词单独提取出来成一个变量,用word()
3.生成的每个新变量都destring一下
4.取新变量每行的最大值。用egen好像可以实现

使用道具

报纸
满城叶 发表于 2016-2-6 19:52:06 |只看作者 |坛友微信交流群
蓝色 发表于 2016-2-2 22:25
谢谢谢谢!蓝色大神每次都这么热心!再次感谢,提前祝新年快乐!

使用道具

地板
满城叶 发表于 2016-2-6 19:53:27 |只看作者 |坛友微信交流群
夏目贵志 发表于 2016-2-6 11:01
提供一个思路
1.把都好换成空格,用subinstr()
2.每个词单独提取出来成一个变量,用word()
谢谢思路哈 但是自己水平太低,没琢磨出来 还好有蓝色大神详细的帮助!

使用道具

7
夏目贵志 发表于 2016-2-8 02:35:30 |只看作者 |坛友微信交流群
满城叶 发表于 2016-2-6 19:53
谢谢思路哈 但是自己水平太低,没琢磨出来 还好有蓝色大神详细的帮助!
我回帖的时候怎么没看到蓝色的帖子||||要是看到了我也就不多嘴了。问题解决了就好

使用道具

8
满城叶 发表于 2016-2-20 11:01:58 |只看作者 |坛友微信交流群
谢谢

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 02:47