sách gpt4 ai đã đi

r - 选择一列中给定值的数据框的一半

In lại 作者:行者123 更新时间:2023-12-04 02:09:41 hai mươi bốn 4
mua khóa gpt4 Nike

我想选择其中一列中给定值的数据框的一半。换句话说,从下面给出的数据框中,我需要提取 Y 列中给定值的一半行:

DF:
id1 column Y value
9830 A 6
7609 A 0
9925 B 0
9922 B 5
9916 B 6
9917 B 8
9914 C 2
9914 C 7
9914 C 7
9914 C 2
9914 C 9

新数据框应如下所示:
  NEW DF:
id1 column Y value
9830 A 6
9925 B 0
9922 B 5
9914 C 2
9914 C 7

此外,了解在给定 Y 列的情况下选择所有行 dateframe DF 的随机一半的解决方案会很有帮助(例如,不选择前 50%)。

任何帮助表示赞赏。
Cảm ơn!

1 Câu trả lời

假设您希望每组行的前半部分具有相同的值 column Y对于我们向下舍入的奇数行,我们可以使用 filterTừ dplyr :

library(dplyr)
df %>% group_by(`column Y`) %>% filter(row_number() <= floor(n()/2))
##Source: local data frame [5 x 3]
##Groups: column Y [3]
##
## id1 column Y laclen
##
##1 9830 A 6
##2 9925 B 0
##3 9922 B 5
##4 9914 C 2
##5 9914 C 7

我们先 group_by column Y (注意反引号,因为列名包含空格)然后使用 filter仅保留 row_number 的行小于或等于 n() 给出的总行数为组除以 2 (并用 floor 向下舍入)。

要选择每组中随机 50% 的行,请使用 sample生成要保留的行号和 %in%匹配那些要保留的:
set.seed(123)
result <- df %>% group_by(`column Y`) %>% filter(row_number() %in% sample(seq_len(n()),floor(n()/2)))
##Source: local data frame [5 x 3]
##Groups: column Y [3]
##
## id1 column Y laclen
##
##1 9830 A 6
##2 9922 B 5
##3 9917 B 8
##4 9914 C 2
##5 9914 C 9

关于r - 选择一列中给定值的数据框的一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39805891/

hai mươi bốn 4 0
Bài viết được đề xuất: Neo4j 多个可选匹配查询非常慢
Bài viết được đề xuất: CEPH,通过互联网运行集群
Bài viết được đề xuất: asp.net - 如何使用 linq 在 asp.net/vb.net 中过滤列表
Bài viết được đề xuất: python - 无法找到或创建新的 virtualenv
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com