【发布时间】:2015-10-06 18:08:48
【问题描述】:
我有一个包含 5713 行和 7 列的数据框。许多行是重复的。我需要按“性别”和“大小”创建 5 个组,同时确保“项目”列不包含重复项,并且“类型”列最多只包含 1 个“羊毛”。我尝试过 sample、split、group_by、sample_n,但似乎无法弄清楚如何包含所有变量。
这是数据框的示例:
SKU UPC type rating size gender item
1 M3MEN-SU15-BLU-XXL 628012010215 Tee 5 XXL M M3MEN
2 M3MEN-SU15-GRY-XXL 628012010314 Tee 5 XXL M M3MEN
3 M3MEN-SU15-GRY-XL 628012010316 Tank 5 XL M M3MEN
4 MAMA-CHA-S *MAMA-CHA-S* Tank 5 S M MAMA
5 MAMA-CHA-S *MAMA-CHA-S* Tee 5 S M MAMA
6 MBAN-CHA-M *MBAN-CHA-M* Fleece 3 M W MBAN
7 WAZA-CHA-L *WAZA-CHA-L* Fleece 3 L M WAZA
8 MBAN-CHA-M *MBAN-CHA-M* Fleece 3 M W MBAN
9 MBAN-CHA-M *MBAN-CHA-M* Fleece 3 M M MBAN
10 MCON-CHA-M *MCON-CHA-M* Fleece 3 M M MCON
理想情况下,我想创建一个新列,为每组 5 个创建一个唯一 ID。
例如:
SKU UPC type rating size gender item id
1 M3MEN-SU15-BLU-S 628012010215 Tee 5 S M M3MEN 1
2 MAMA-CHA-S *MAMA-CHA-S* Tank 5 S M MAMA 1
3 MBAN-CHA-S *MBAN-CHA-S* Tank 3 S M MBAN 1
4 MAZA-CHA-S *MAZA-CHA-S* Tee 3 S M MAZA 1
5 MCON-CHA-S *MCON-CHA-S* Fleece 3 S M MCON 1
6 W3MEN-SU15-BLU-M 428012010215 Tee 2 M W W3WOM 2
7 WAMA-CHA-M *WAMA-CHA-M* Tank 4 M W MAMA 2
8 WBAN-CHA-M *WBAN-CHA-M* Tank 5 M W MBAN 2
9 WAZA-CHA-M *WAZA-CHA-M* Tee 1 M W MAZA 2
10 WCON-CHA-M *WCON-CHA-M* Fleece 3 M W MCON 2
我已经为此苦苦挣扎了一段时间。任何帮助将不胜感激!
【问题讨论】:
-
你能展示你试过的代码吗?这将有助于了解您正在尝试做的事情。在
dput(head(yourdata, 20))中包含一个可重现的示例也会有所帮助。 -
我尝试创建组样本(按性别和大小),但它不能解决包含超过 1 个羊毛实例的唯一“项目”或“类型”的问题。
df <- df %>% group_by(gender, size) %>% sample_n(size = 5) -
当你说 >need to create groups of 5 by "gender" 和 "size" 你说 5 有什么特别的原因,而不是仅仅说我需要创建相同性别的组 - 和-size 例如男性,首先是小。然后显示男性,中。然后显示男性,大。然后显示女性、小号等。只是想知道这 5 是否是某种额外的要求,或者只是你注意到的东西,据你所知,每个性别 + 尺寸组只能有 5 种变化。
-
@user454038 我需要 5 个组,因为我正在尝试创建 5 个项目的产品包。捆绑中的每个项目都需要不同。