gpt4 book ai didi

merge - Stata合并改变我的值(value)观?

转载 作者:行者123 更新时间:2023-12-01 12:48:05 26 4
gpt4 key购买 nike

我觉得我在这里缺少一些非常基本的东西......
我正在尝试合并 Stata 中的两个数据集,FranceSQ.dta 和 FranceHQ.dta。它们都有一个我创建的名为“uid”的变量,用于唯一标识观察结果。

use FranceSQ, clear
merge 1:1 uid using FranceHQ, gen(_merge) keep(match)

现在让我感到困惑的是,它告诉我 uid 并不能唯一标识我的观察结果。我意识到发生的事情是,当我打开 FranceSQ 时,一切正常,当我查看我的 uid 变量时,我有以下值...

25010201
25010202
25010203
...

但是一旦我尝试运行合并,它就会改变我所有的值,所以我看到...

2.50101e+10
2.50101e+10
2.50101e+10
...

任何帮助将不胜感激...我确信有一个简单的答案,但目前我还没有找到。

*** 编辑 强>***
所以尼克的建议有帮助,谢谢!这就是我在做的错误,所以我想知道是否有人可以指出为什么它不起作用。

1) 我通过连接两个数字变量在每个数据集中创建了 uid 变量,将 uid 变量转换为字符串。
2) 我对整个数据集运行 destring(因为有很多错误转换的变量),这将 uid 变成了 double。
3) 然后我将 uid 重铸为一个字符串。正是因为这个,我无法进行初始合并。我注意到它将我的所有观察值更改为数据集中的最后一个值。
4) 只是因为我在调整,我将 uid 变量重铸为 double,并得到相同的结果。

现在我终于通过重新开始而不是首先将 uid 变量重铸为字符串来让它工作,但我仍然不知道为什么我以前的努力没有奏效,或者合并是如何进行的命令实际上决定改变我的值(value)观。

最佳答案

这很可能是精度问题。长整数需要保存在 longdouble 数据类型中。您可能需要在合并 之前重铸 一个标识符。

您应该通过查看 describe 的结果来检查 uid 在两个数据集中是否具有相同的数据类型。

关于merge - Stata合并改变我的值(value)观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com