请选择 进入手机版 | 继续访问电脑版
楼主: ywh19860616
3341 6

[其他] 如何比较这种格式的数值大小 [推广有奖]

学术权威

32%

还不是VIP/贵宾

-

威望
0
论坛币
870 个
通用积分
3367.7154
学术水平
854 点
热心指数
991 点
信用等级
637 点
经验
116346 点
帖子
3976
精华
0
在线时间
7729 小时
注册时间
2009-9-3
最后登录
2023-12-9

ywh19860616 发表于 2012-9-21 15:56:37 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
dm1new                           dm2new
0020312007-10-26         0020312007-09-17
0020312007-10-26        0020312007-09-18
0020312007-10-26        0020312007-09-30
0020312007-10-26        0020312007-10-26

如以上,有两列数据,如何比较上面两列数据?
比如要得出前3个数据都是不相等的,第4个数据相等。

有没有一个转换方式,转换后可以直接比较?
二维码

扫码加我 拉你入群

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

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

关键词:NEW 有没有 如何

回帖推荐

hplcdadong 发表于7楼  查看完整内容

The following may also work: use try, clear drop dm1new drop if data==. renvars dm2new data /dm1new newdata //you may have to download and install "renvars" merge 1:m dm1new using try, nogen sort data
sungmoo 发表于 2012-9-21 16:56:52 |显示全部楼层 |坛友微信交流群
比较的原则是什么?(如何规定大小?或者,谁在大于号的左侧?)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 谢谢

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

使用道具

ywh19860616 发表于 2012-9-21 18:28:41 |显示全部楼层 |坛友微信交流群
sungmoo 发表于 2012-9-21 16:56
比较的原则是什么?(如何规定大小?或者,谁在大于号的左侧?)
版主,规则是要两个数据完全相同。比如dm1new中的0020312007-10-26和dm2new中的 0020312007-10-26

其实我想要实现的最终问题是这样的:

dm1new                           dm2new                            data
0020312007-10-26         0020312007-09-17                  1
0020312007-10-26         0020312007-09-18                   2
0020312007-10-26         0020312007-09-30                   3
0020312007-09-30         0020312007-10-26                  4
0020312007-09-18
0020312007-09-17
您看上面有三个变量,其中dm1new中的日期都在dm2new中出现过,比如0020312007-10-26对应dm2new中的第4个。我现在想要的是对dm1new和dm2new进行配对,即配对出dm1new中的元素分别在dm2new中的什么位置,然后生产变量datanew
dm1new                         datanew              dm2new                      data
0020312007-10-26            4           0020312007-09-17                    1
0020312007-10-26            4           0020312007-09-18                    2
0020312007-10-26            4           0020312007-09-30                    3
0020312007-09-30            3          0020312007-10-26                     4
0020312007-09-18            2
0020312007-09-17            1

这个本来可以用外部命令vlookup实现的,但是vlookup命令的内部规则无法识别
dm1new中的0020312007-10-26 和dm2new中的0020312007-10-26相同。
您觉得如何实现这个问题?



一份耕耘,一份收获。

使用道具

sungmoo 发表于 2012-9-22 04:35:23 |显示全部楼层 |坛友微信交流群
dm1new中的日期都在dm2new中出现过
tempfile a
preserve
keep dm2new
duplicates drop
ren dm2new dm1new
en dm1new, g(datanew)
drop if datanew==.
save `a',replace
restore
mer m:1 dm1new using `a'

使用道具

ywh19860616 发表于 2012-9-22 08:09:44 |显示全部楼层 |坛友微信交流群
sungmoo 发表于 2012-9-22 04:35
tempfile a
preserve
keep dm2new
老师,根据您的程序,好像未能生成我那样的数据datanew
附件是我的数据,您帮忙试下,看问题出在哪?
谢谢您。
try.rar (315 Bytes) 本附件包括:
  • try.dta



一份耕耘,一份收获。

使用道具

sungmoo 发表于 2012-9-22 22:00:35 |显示全部楼层 |坛友微信交流群
使用encode后会自动生成值标签。显示的是标签,而非值本身。

使用道具

hplcdadong 发表于 2012-9-23 09:22:19 |显示全部楼层 |坛友微信交流群
The following may also work:

use try, clear
drop dm1new
drop if data==.
renvars dm2new data /dm1new newdata      //you may have to download and install "renvars"
merge 1:m dm1new using try, nogen
sort data
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 5 + 5 + 5 wonderful,thanks

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

使用道具

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

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

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

GMT+8, 2024-3-28 16:35