r - 从数据表中删除具有特定字符串的行
问题描述
我有一个数据表,由 R 生成的 3 列和 1000 多行组成。前两列是字符串,最后一个字符在某些列中相似(它们表示单元格类型)。我只想从不相似的行中过滤掉信息。
AAA.aa BBB.aa 0.9
AAA.aa BBB.bb 0.8
CCC.cc DDD.cc 0.7
CCC.cc BBB.bb 0.8
我希望我的输出为:
AAA.aa BBB.bb 0.8
CCC.cc BBB.bb 0.8
任何帮助将不胜感激。
解决方案
仅保留要比较和删除的字符串部分!=
subset(df, sub('.*\\.', '', V1) != sub('.*\\.', '', V2))
# V1 V2 V3
#2 AAA.aa BBB.bb 0.8
#4 CCC.cc BBB.bb 0.8
这也可以用于dplyr::filter
dplyr::filter(df, sub('.*\\.', '', V1) != sub('.*\\.', '', V2))
数据
df <- structure(list(V1 = c("AAA.aa", "AAA.aa", "CCC.cc", "CCC.cc"),
V2 = c("BBB.aa", "BBB.bb", "DDD.cc", "BBB.bb"), V3 = c(0.9,
0.8, 0.7, 0.8)), class = "data.frame", row.names = c(NA, -4L))
推荐阅读
- python - ModuleNotFoundError:没有以 virtualenv 命名的模块,需要了解如何为生产构建它
- python - 切片张量的每个原始数据
- sql - SQL - 多部分标识符错误:无法绑定多部分标识符“OBDATE.SUMMARY_BLOCK_ID”
- javascript - Javascript数组对象到逗号分隔的单行数组
- python - 轻松阅读行“参数”
- vb.net - 如果出现带有特定数字的标签,如何将图片框从可见更改为不可见?
- javascript - 在 React 中创建加载超时页面
- java - Android toasts 有时不显示应用程序首次启动的时间
- node.js - 使用临时 Docker 映像运行 NodeJs 二进制文件
- node.js - Node.js https 请求卡住