r - 如何根据每个项目中的相似字符从 r 列表中选择项目?
问题描述
我正在尝试从列表中选择一些项目,并根据每个项目中的相似字符对它们进行分组。例如,我想将所有文件与“20130409”分组并将它们分配给一个目录。请问,我该怎么做?我尝试使用循环,但它不起作用。
数据 <- list.files('Output_crop/')
"LC08_L1TP_044033_20130409_20180201_01_T1_B1.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B10.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B11.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B2.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B3.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B4.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B5.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B6.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B7.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B8.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_B9.tif" "LC08_L1TP_044033_20130409_20180201_01_T1_BQA.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B1.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B10.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B11.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B2.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B3.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B4.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B5.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B6.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B7.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B8.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_B9.tif" "LC08_L1TP_044033_20130416_20170310_01_T1_BQA.tif" " LC08_L1TP_044033_20130603_20170310_01_T1_B1.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B10.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B11.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B2.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B3.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B4.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B5.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B6.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B7.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B8.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_B9.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_BQA.tif"LC08_L1TP_044033_20130603_20170310_01_T1_B9.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_BQA.tif"LC08_L1TP_044033_20130603_20170310_01_T1_B9.tif" "LC08_L1TP_044033_20130603_20170310_01_T1_BQA.tif"
解决方案
您可以通过过滤名称来执行此操作而无需循环grepl()
。该函数grepl()
在字符中查找正则表达式模式并返回一个布尔值,指示它是否存在。
所以,如果你想得到所有包含“20130409”的元素,你只需写:
selection = data[grepl("20130409",data)]
然后,该向量selection
仅包含包含此子字符串的条目。然后,您可以循环通过此向量来移动或复制这些文件。
推荐阅读
- python - PythonAnywhere 请求会话引发异常“连接中止”
- azure-sql-database - Azure SQL 弹性作业和数据层应用程序 (DACPAC)
- r - 删除重复的日期并折叠 NA 值
- r - 如何在直方图中放置一条 v 线?
- kubernetes - 如何更改 Keycloak 中的主机更新密码电子邮件
- javascript - 使用 VUgen 循环遍历表行并进行比较
- android - 以内部应用测试员身份登录时,在 Google Play 应用上找不到 URL
- java - Spring Mongo 聚合项目过滤器
- regex - bbedit - 如何将多个字符串更改为标题大小写?
- javascript - 如何在迁移中更新约束