如何用R中的单列中的给定短语过滤

发布于 2025-02-13 03:17:47 字数 355 浏览 0 评论 0原文

以下是示例数据。似乎很基本,但是我的互联网搜索并没有得到明确的答案。在这种情况下,我将如何创建一个新的数据框架,其中Areaname仅在最后具有短语MSA而不是MicroSA或其他可能性。

  areaname <- c("Albany NY MSA", "Albany GA MSA", "Aberdeen SD MicroSA", "Reno NV MSA", "Fernley NV MicroSA", "Syracuse NY MSA")
  Employment <- c(100,104,108,112,116,88)

   testitem <- data.frame(areaname, Employment)

Below is the sample data. Seems pretty basic but my internet searches have not yielded a clear answer. In this case, how would I create a new data frame where the areaname only has the phrase MSA at the end and not MicroSA or other possibilities.

  areaname <- c("Albany NY MSA", "Albany GA MSA", "Aberdeen SD MicroSA", "Reno NV MSA", "Fernley NV MicroSA", "Syracuse NY MSA")
  Employment <- c(100,104,108,112,116,88)

   testitem <- data.frame(areaname, Employment)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

睫毛上残留的泪 2025-02-20 03:17:47
testitem %>%
  filter(stringr::str_ends(areaname, "MSA"))


         areaname Employment
1   Albany NY MSA        100
2   Albany GA MSA        104
3     Reno NV MSA        112
4 Syracuse NY MSA         88
testitem %>%
  filter(stringr::str_ends(areaname, "MSA"))


         areaname Employment
1   Albany NY MSA        100
2   Albany GA MSA        104
3     Reno NV MSA        112
4 Syracuse NY MSA         88
赠我空喜 2025-02-20 03:17:47

另一个选项是使用stringi

library(dplyr)

testitem %>%
  filter(stringi::stri_endswith_fixed(areaname, "MSA"))

输出

         areaname Employment
1   Albany NY MSA        100
2   Albany GA MSA        104
3     Reno NV MSA        112
4 Syracuse NY MSA         88

,或者您可以使用grepl

library(dplyr)

testitem %>%
  filter(grepl("MSA$", areaname))

或使用endswith

testitem %>%
  filter(endsWith(areaname, "MSA"))

Another option is to use stringi:

library(dplyr)

testitem %>%
  filter(stringi::stri_endswith_fixed(areaname, "MSA"))

Output

         areaname Employment
1   Albany NY MSA        100
2   Albany GA MSA        104
3     Reno NV MSA        112
4 Syracuse NY MSA         88

Or you can use grepl:

library(dplyr)

testitem %>%
  filter(grepl("MSA
quot;, areaname))

Or use endsWith:

testitem %>%
  filter(endsWith(areaname, "MSA"))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文