gpt4 book ai didi

r - data.table 中的唯一标识符

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

我有一个 data.table有 11 个变量和 200,000 多行。我试图找到 unique identifier (换句话说, key )在这个 data.table 中.

我正在寻找类似 isid 的东西在 Stata 中,它检查指定的变量是否唯一标识了观察结果。有人可以帮忙吗?

最佳答案

这并不能完全回答 OP 问题 [我没有使用过 data.table ],但它会有所帮助 R只有用户才能回答 OP 的问题。我的重点将是解释如何isid实际上正在处理 Stata .我使用来自 R 的数据数据库(您需要为该数据安装 optmatch)。

library(optmatch)
data(nuclearplants)
sample<-nuclearplants

我只关注数据框的子集,因为我的目标只是解释 isid是在做:
sample<-sample[,c(1,2,5,10)]
head(sample,5)
cost date cap cum.n
H 460.05 68.58 687 14
I 452.99 67.33 1065 1
A 443.22 67.33 1065 1
J 652.32 68.00 1065 12
B 642.23 68.00 1065 12

现在,当我使用 Stata命令 isid cost它不显示任何内容,这意味着没有对成本的重复观察( R 对此的命令是 unique(sample$cost)sample[duplicated(sample),]
[1] cost  date  cap   cum.n
<0 rows> (or 0-length row.names).)

但是,当我们使用 isid date 时即在日期变量上, Stata报告说它不是唯一的。或者,如果您运行 duplicates date examples , Stata会给你重复的观察如下:
. duplicates example date

Duplicates in terms of date

+-------------------------------+
| group: # e.g. obs date |
|-------------------------------|
| 1 2 27 67.25 |
| 2 2 2 67.33 |
| 3 3 29 67.83 |
| 4 2 4 68 |
| 5 5 8 68.42 |
|-------------------------------|
| 6 2 1 68.58 |
| 7 2 12 68.75 |
| 8 3 14 68.92 |
+-------------------------------+

为了解释输出,是说观察 67.25 有两个重复的观察(如 # 所示)。第一个观察值对应于第 27 行(它没有用 67.25 标识第二个重复项的行号)。 Group给出每次重复的唯一标识符。
R command for the same is duplicated(sample$date). 
duplicated(sample$date)
[1] FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE TRUE TRUE
[22] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE

To identify the unique observation we can also use unique(sample$date) in R.

我们可以对两个变量做同样的事情 isid cost date .再次, Stata不识别跨两个变量的重复观察。使用 unique(sample[,c(1,2)] 时也是如此在 R .

如果我再次运行 isid在所有四个变量上然后 Stata说它是独一无二的(没有警告)。
duplicates example  cost date cap cum_n

Duplicates in terms of cost date cap cum_n

(0 observations are duplicates)

unique(sample) 相同在 R .

结论 :因此,我认为只要一个变量是唯一的(即它没有重复的观察),包含唯一变量的变量组合就应该始终是唯一的。如果我错了,请纠正我。

关于r - data.table 中的唯一标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16045161/

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