dplyr中的过滤函数错误:找不到对象'名称' [英] filter function in dplyr errors: object 'name' not found

查看:17
本文介绍了dplyr中的过滤函数错误:找不到对象'名称'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在R中有一个数据框,名为UK_profiles

row.names   id     name
1   1   8131437     Profile
2   2   8131719     WolverineCompetition
3   4   8132011     www.vaseline.com
4   10  23265829    www.keepingskinamazing.co.uk
5   23  8042743     Mobile
6   24  8043312     Test
7   25  90914664    Join Our Core
8   26  45272695    UDF
9   27  50547829    apps.euro-bureau.eu/fairathon
10  28  50916438    www.benjerry.intashop.com/
11  44  83667343    All Web Site Data
12  45  84556272    UK

使用dplyr我希望filter并使用grepl删除行:

require(dplyr) 

UK_profiles.filtered <- filter(UK_profiles, !grepl("Rollup|Microsite|Mobile|Test|tset|Profile|Facebook|Unfiltered|returnurl", name))

但是,我收到错误消息:

找不到对象‘name’。

我还收到:

in data.Matrix(Data):强制引入的NAS。

对象'name'清楚地位于数据帧中。有人能帮帮忙吗?

推荐答案

似乎您得到的确实是stats::filter函数,而不是dplyr函数。为确保获得正确的标记,请使用表示法dplyr::filter

d = data.frame(x=1:10,
 name=c("foo","bar","baz","bar","bar","baz","fnord","qar","qux","quux"))

filter(d, !grepl("ar|ux", name))
Error in grepl("ar|ux", name) : object 'name' not found

dplyr::filter(d, !grepl("ar|ux", name))
  x  name
1 1   foo
2 3   baz
3 6   baz
4 7 fnord

您甚至不需要执行library(dplyr)即可执行此操作-但是您需要安装dplyr

这适用于任何包中的函数。

这篇关于dplyr中的过滤函数错误:找不到对象&#39;名称&#39;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆