gpt4 book ai didi

r - 为重复的行分配唯一 ID

转载 作者:行者123 更新时间:2023-12-01 10:01:40 24 4
gpt4 key购买 nike

如果我有一个如下所示的数据框:

x y
13 a
14 b
15 c
15 c
14 b

我希望每组相等的行都有一个唯一的 ID,如下所示:
x y id
13 a 1
14 b 2
15 c 3
15 c 3
14 b 2

有没有简单的方法可以做到这一点?

谢谢

最佳答案

我对 paste0 有点担心方法。如果您的列包含更复杂的数据,您最终可能会得到令人惊讶的结果,例如想象:

 x  y
ab c
a bc

一种解决方案是更换 paste0(...)paste(..., sep = "@") .即便如此,您也无法想出 sep一般足以适用于任何类型的数据,因为总是有一个非零概率 sep将包含在某种数据中。

更强大的方法是使用拆分/转换/组合方法。您当然可以使用 base 做到这一点。包但是 plyr让它更容易一点:
library(plyr)
.idx <- 0L
ddply(df, colnames(df), transform, id = (.idx <<- .idx + 1L))

如果这太慢,我会推荐一个 data.table方法,如此处提出的: data.table "key indices" or "group counter"

关于r - 为重复的行分配唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15302895/

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