【发布时间】:2021-07-09 09:35:36
【问题描述】:
我在 R 中有以下提到的数据框:
ID Unique_Id Date Status
I-1 UR-112 2020-01-01 14:15:16 Approved
I-2 UR-112 2020-02-12 14:15:16 In Process
I-3 UR-112 2020-03-23 14:15:16 In Process
I-4 UR-113 2020-01-01 14:15:16 Hold
I-5 UR-113 2020-04-11 14:15:16 Hold
I-6 UR-114 2020-04-07 14:15:16 Approved
I-7 UR-114 2020-05-08 14:15:16 Approved
I-8 UR-114 2020-05-09 14:15:16 In Process
I-9 UR-115 2020-01-18 14:15:16 Approved
I-10 UR-115 2020-03-23 14:15:16 Approved
I-11 UR-116 2020-02-11 14:15:16 Approved
我需要创建一个随机 3 Unique_Id 的子集,它分布在所有 Date 中,这三个 Unique_Id 必须属于可用的 Status。
需要的输出
ID Unique_Id Date Status
I-1 UR-112 2020-01-01 14:15:16 Approved
I-2 UR-112 2020-02-12 14:15:16 In Process
I-3 UR-112 2020-03-23 14:15:16 In Process
I-4 UR-113 2020-01-01 14:15:16 Hold
I-5 UR-113 2020-04-11 14:15:16 Hold
I-11 UR-116 2020-02-11 14:15:16 Approved
【问题讨论】:
-
也许:
x[x$x$Unique_Id %in% sample(unique(x$Unique_Id), 3),] -
@GKi- 谢谢,我已经尝试过了,但它没有涵盖
Status部分。 -
Status应考虑哪些条件? -
@GKi- 所有可用的唯一值。
-
如果
Status有三个可能的值,并且您被限制为三个随机的Unique_Ids,并且需要每个可能的状态值至少表示一次,那么唯一可能的选择是为Status的每个值选择一个Unique_Id。如果Status的可能值超过三个,则无解。还是我错过了什么?
标签: r dataframe dplyr data.table tidyverse