gpt4 book ai didi

R 过滤行 : where clause : from dataframe

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

我正在尝试按如下方式在 R 中过滤数据框。

设 mydf 为具有两列 A 和 B 的数据框。

让 udf 成为另一个具有 1 列 A 的数据框。

我想做以下事情。

Select rows from mydf where mydf[A] is in udf[A]

我正在使用 dplyr 并在线路上尝试了一些东西

T = filter(mydf, A %in% udf['A'])

这显然行不通。有没有明确编写 for loop 的直接解决方法?非常感谢!

最佳答案

您可以使用 dplyr 中的 inner_join

library(dplyr)
r1 <- inner_join(mydf, udf, by='A')

或者使用@BondedDust 评论的filter

r2 <- filter(mydf, A %in% udf[['A']])
identical(r1, r2)
#[1] TRUE

或者使用data.table

library(data.table)
setkey(setDT(mydf),A)[udf, nomatch=0]

数据

set.seed(24)
mydf <- as.data.frame(matrix(sample(1:10,2*10, replace=TRUE),
ncol=2, dimnames=list(NULL, LETTERS[1:2])) )
set.seed(29)
udf <- data.frame(A=sample(1:10,6,replace=TRUE))

关于R 过滤行 : where clause : from dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27413828/

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