gpt4 book ai didi

[R] 中两列的字符串匹配

转载 作者:行者123 更新时间:2023-12-04 18:44:46 24 4
gpt4 key购买 nike

我希望匹配多个字符串条件,然后使用 grepl 查找匹配项对 R 中的行进行子集化。我从 another post 找到了一个很好的解决方案其中使用了一些特定的代码(但你明白了):subset(GEMA_EO5, grepl(paste(l, collapse="|"),GEMA_EO5$RefSeq_ID))
我想知道是否可以在两列中进行 grepl,而不仅仅是上面示例中的 RefSeq_ID。也就是说,在 grepl 中通过任何其他方法。换句话说,我想在 l 中寻找选项,而不仅仅是在一列中,而是在两列(或多列)中。这可能吗?

例如:3 列,a b 和 c。尽管 (3,b) 中的格式为“T I”,但我想要选择 T(第 3 行和第 4 行)的标准。它应该同时识别 (4,a) 和 (3,b),因此链接到上一个问题。我希望它查看 a 列和 b 列,而不是其中之一。

    a    b     c

A A C P L
V V B W E E
W T I P J G
T W P J

最佳答案

这里有一些演示数据来展示它是如何工作的:

set.seed(1234)
dat <- data.frame(A = sample(letters[1:3],10,TRUE),
B = sample(letters[1:3],10,TRUE))

使用 [在我看来,子集使这一点更加清晰 - 我们可以使用 grepl给出基于匹配的逻辑向量,并使用 |组合两个测试(在多个列上)。如果您想要在任一列中包含“a”的所有行的子集:
dat.a <- dat[with(dat, grepl("a", A)|grepl("a", B)),]
A B
1 b a
2 b a
3 a c
5 a a
9 a a

关于[R] 中两列的字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16897644/

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