gpt4 book ai didi

r - 在第二个数据集中搜索第一个数据集中列表中出现的值

转载 作者:行者123 更新时间:2023-12-05 01:03:24 25 4
gpt4 key购买 nike

以下代码创建两个数据集:

df1 <- 
read.table(textConnection("ID Code Date1 Date2
1 I611 01/01/2021 03/01/2021
2 L111 04/01/2021 09/01/2021
3 L111 01/01/2021 03/01/2021
4 Z538 08/01/2021 11/01/2021
5 I613 08/08/2021 09/09/2021
"), header=TRUE)

df2 <-
read.table(textConnection("ID State
1 Washington
49 California
1 Washington
40 Texas
1 Texas
2 Texas
2 Washington
50 Minnesota
60 Washington"), header=TRUE)

我希望实现的是在第二个数据集中搜索在第一个数据集“ID”列中至少出现一次的 ID 值,然后按第二个数据集中的“状态”列对匹配项进行分组。所以输出将是:

<头>
ID
华盛顿 3
德克萨斯 2

非常感谢您提供任何帮助 - 谢谢。

最佳答案

dplyr::semi_join()对于根据另一个表中的值过滤一个表很有用。然后,您可以 count() 过滤表中每个状态的出现次数。

library(dplyr)

semi_join(df2, df1) %>%
count(State, name = "IDs")
Joining, by = "ID"

State IDs
1 Texas 2
2 Washington 3

关于r - 在第二个数据集中搜索第一个数据集中列表中出现的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74273759/

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