热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

我的另一列上的Rdata.tablegrepl列

如何解决《我的另一列上的Rdata.tablegrepl列》经验,为你挑选了1个好方法。

当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

我希望这将返回所有行。



1> www..:

以下代码适用grepl于带有a和的每一y行。基本上,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


或x [Vectorize(like)(y,a)]`或`x [Vectorize(grepl)(a,y)]`
推荐阅读
author-avatar
手机用户2502906401
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有