gpt4 book ai didi

R data.table grepl 列在 i 中的另一列上

转载 作者:行者123 更新时间:2023-12-04 09:32:54 25 4
gpt4 key购买 nike

当 A 列中的字符串在 B 列中时,我可以进行子集化吗?

例子:

x <- data.table(a=letters, y=paste0(letters,"x"))

x[grepl(a, y)]
x[like(y, a)]

两者都只返回第一行的一行 data.table 和以下警告:
Warning message:
In grepl(pattern, vector) :
argument 'pattern' has length > 1 and only the first element will be used

我希望这会返回所有行。

最佳答案

以下代码适用 grepl到每一行 ay作为一对那排。基本上,grepl 的第一个参数不能是长度大于 1 的向量,因此需要循环或基于 lapply 的方法。

x[mapply(grepl, a, y), ]
# a y
# 1: a ax
# 2: b bx
# 3: c cx
# 4: d dx
# 5: e ex
# 6: f fx
# 7: g gx
# 8: h hx
# 9: i ix
# 10: j jx
# 11: k kx
# 12: l lx
# 13: m mx
# 14: n nx
# 15: o ox
# 16: p px
# 17: q qx
# 18: r rx
# 19: s sx
# 20: t tx
# 21: u ux
# 22: v vx
# 23: w wx
# 24: x xx
# 25: y yx
# 26: z zx
# a y

关于R data.table grepl 列在 i 中的另一列上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48649768/

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