SPSS:如何从包含重复 ID 的客户端 ID 变量生成 ID 号

发布于 2025-01-10 23:40:11 字数 673 浏览 0 评论 0原文

我有一个数据集,其中包含数千行,每个人都分配了一个 ClientID。我想使用 ClientID 变量生成一个从 1 开始的新 ID 变量。一些 ClientID 是重复的,因此我想确保重复的 ClientID 具有相同的 ID 号。客户端 ID 是字符串,我的数据必须按时间戳排序。

我的数据看起来像:

ClientID TimeStamp

15137.45692 15/03/2021

10489.15789 03/02/2021

14143.96745 01/01/2021

15137.45692 15/01/2021

15137.45692 27/02/2021

14143.96745 08/03/2021

我希望它看起来像:

ID ClientID TimeStamp

1 14143.96745 01/01/2021
    
2 15137.45692 15/01/2021
    
3 10489.15789 03/02/2021
    
2 15137.45692 27/02/2021
    
1 14143.96745 08/03/2021
    
2 15137.45692 15/03/2021

我该怎么做?

我会在 Excel 中执行此操作,但我有超过 250k 行的数据,并且 Excel 不断崩溃。

谢谢

I have a dataset which contains thousands of rows which each person assigned a ClientID. I would like to use the ClientID variable to generate a new ID variable which starts at 1. Some ClientIDs are duplicated so I would like to make sure that duplicate ClientIDs are given the same ID number. Client IDs are string and my data has to be sorted by TimeStamp.

My data looks like:

ClientID TimeStamp

15137.45692 15/03/2021

10489.15789 03/02/2021

14143.96745 01/01/2021

15137.45692 15/01/2021

15137.45692 27/02/2021

14143.96745 08/03/2021

I would like it to look like:

ID ClientID TimeStamp

1 14143.96745 01/01/2021
    
2 15137.45692 15/01/2021
    
3 10489.15789 03/02/2021
    
2 15137.45692 27/02/2021
    
1 14143.96745 08/03/2021
    
2 15137.45692 15/03/2021

How do I do this?

I would do it in excel but I have over 250k rows of data and excel keeps crashing.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

荒人说梦 2025-01-17 23:40:11

以下语法创建 ID=1,然后仅在新 ClientID 的情况下添加 1:

sort cases by ClientID.
compute ID=1.
if $casenum>1 ID=lag(ID)+(ClientID<>lag(ClientID)).
exe.

编辑:
这是使用 rank 函数执行此操作的另一种好方法:

RANK VARIABLES=ClientID (A) /RANK /PRINT=NO /TIES=CONDENSE.

The following syntax creates ID=1 and then adds 1 only in case of a new ClientID:

sort cases by ClientID.
compute ID=1.
if $casenum>1 ID=lag(ID)+(ClientID<>lag(ClientID)).
exe.

EDIT:
Here's another nice way to do it using rank function:

RANK VARIABLES=ClientID (A) /RANK /PRINT=NO /TIES=CONDENSE.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文