gpt4 book ai didi

r - 使用第二个数据框中的值过滤数据框

转载 作者:行者123 更新时间:2023-12-02 08:09:07 25 4
gpt4 key购买 nike

<分区>

我有两个数据框ab

a 可以是 2000-3000 行,15 列。

b 是一个小型数据框(2 列 150 行)。

下面是一个简化的数据集。

   a <- structure(list(ID = structure(c(1L, 2L, 1L, 3L, 2L, 1L, 3L), .Label = c("ID1", 
"ID2", "ID3"), class = "factor"), score = structure(c(4L, 5L,
3L, 6L, 7L, 1L, 2L), .Label = c("10", "110", "20", "28", "34",
"80", "90"), class = "factor"), desc = structure(c(1L, 1L, 1L,
1L, 1L, 1L, 1L), class = "factor", .Label = "text")), .Names = c("ID",
"score", "desc"), row.names = c(NA, -7L), class = "data.frame")

b <- structure(list(ID = structure(1:3, .Label = c("ID1", "ID2", "ID3"
), class = "factor"), cutoff = structure(1:3, .Label = c("12",
"46", "54"), class = "factor")), .Names = c("ID", "cutoff"), row.names = c(NA,
-3L), class = "data.frame")

我想使用数据框 b 的分数过滤数据框 a。例如,在数据帧 b 中,ID“ID1”的截止值为 12,因此我只想让数据帧 a 中的 ID1 大于或等于 12。我想对所有 IDS 执行此操作。

> a
ID score desc
1 ID1 28 text
2 ID2 34 text
3 ID1 20 text
4 ID3 80 text
5 ID2 90 text
6 ID1 10 text
7 ID3 110 text
> b
ID cutoff
1 ID1 12
2 ID2 46
3 ID3 54

鉴于数据帧 b 中的截止值,最终数据帧 a 应保持如下:

> a
ID score desc
1 ID1 28 text
2 ID1 20 text
3 ID3 80 text
4 ID2 90 text
5 ID3 110 text

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