【发布时间】:2022-01-06 13:14:19
【问题描述】:
如何过滤以 R 中任何拉丁字母开头的所有行
不工作的示例代码
library(dplyr)
df <- data.frame( marks = c(20.1, 30.2, 40.3, 50.4, 60.5),
age = c(21:25),
roles = c('Software Eng.', 'Software Dev',
'Data Analyst', 'Data Eng.',
'5Sigma'))
df %>% filter(grep("[A-z]", roles))
期望的输出
marks age roles
1 20.1 21 Software Eng.
2 30.2 22 Software Dev
3 40.3 23 Data Analyst
4 50.4 24 Data Eng.
【问题讨论】:
-
field:不是您数据中的子字符串。此外,filter需要一个逻辑向量,而grep返回索引。df %>% filter(grepl("^[A-z]+", roles))? -
谢谢,这也解决了我的问题,正则表达式是我最大的弱点