如何在R中过滤像Excel这样的“字符”

Posted

技术标签:

【中文标题】如何在R中过滤像Excel这样的“字符”【英文标题】:How to filtering "character" like Excel in R 【发布时间】:2018-04-26 21:26:56 【问题描述】:

·这是桌子,名字:x

==================================================================
 # A tibble: 6 x 10
     ID   blood  age  hair_color name height weight distance expiry
    <dbl> <chr> <dbl>    <chr>  <chr>  <dbl>  <dbl>    <dbl>  <dbl>
1     1     P    60     yellow  john    999    128      110    120
2     2     N    52      black   tom    999    180      156    160
3     3     P   100      white   tom    999    190      140    999
4     4     N    84     yellow   tom    112    136      126    122
5     5     P    56      brown   tom     64    230      150    130
6     6     P   105      green   dan    999    142      150    999
===================================================================

.Expected Image:
 ===================================================================
      ID   blood age  hair_color     name height weight distance expiry
    <dbl> <chr> <dbl>     <chr>     <chr>  <dbl>  <dbl>    <dbl>  <dbl>
1     1     P    60       yellow    john    999    128      110    120
2     4     N    84       yellow    tom     112    136      126    122
===================================================================

.背景:初学者

移动者,如何

1.用“包含”功能过滤数据? -like:提取列中的数据:hair_color ,包含“ye”

2.过滤多条件数据? -like:在列:hair_color 中,包含“ye” 和 在 column:name 中,以“to”开头

简单地想象一下如何做一些与在 Excel 中工作完全一样的事情, 提前致谢。

【问题讨论】:

Filtering a data.frame的可能重复 非常感谢。它适用于使用 dplyr 包 --filter 功能。但我仍然无法将过滤功能与包含命令混合使用。 来自帮助,contains 和相关函数“允许您根据变量名称选择变量”。关键部分是“选择变量”,而不是“过滤行”。在data.frame 中,变量是一列。使用grepl,也许是dplyr::filter(x, grepl("ye", hair_color))。它在 dplyr、ala x[grepl("ye", x$hair_color),] 或使用 subset 之外也可以正常工作,如 KarstenW 的回答(尽管 subset 警告不要以编程方式使用)。 【参考方案1】:

在交互模式下,你可以使用subset:

1)

subset(x, grepl("ye", hair_color, fixed=TRUE))

2)

subset(x, grepl("ye", hair_color, fixed=TRUE) & grepl("^to", name))

在第二个示例中,插入符号^ 表示正则表达式中的“开始于”。

简而言之,通过grepl 可以实现和扩展excel 中已知的简单文本过滤功能。正则表达式的短期课程有助于释放其真正的力量。

【讨论】:

非常感谢!我想从 Excel 中找回我的手和腿。 不客气!如果对您有帮助,请随时投票或接受答案。

以上是关于如何在R中过滤像Excel这样的“字符”的主要内容,如果未能解决你的问题,请参考以下文章

如何在vue js中集成类似Excel的表排序和过滤

如何使用python检测excel中的自动过滤器?

R write.csv 没有正确处理像é这样的字符

如何根据字符串的第一个和第三个字符过滤一列字符串?

excel过滤功能

数据库中的文字导入到excel中如何实现自动换行?