我有一个混乱的字符变量,例如:
df<-c("_oun_", "0000ff", "03815", "?3jhdb", "test", "1,000", "1.000")
Run Code Online (Sandbox Code Playgroud)
我想过滤掉所有不是单词的值。我认为首先要过滤掉所有不以字符开头的值。
我怎样才能做到这一点tidyverse?对于上面提到的示例,所需的输出将为test。
一些选项带有stringr. 正则表达式查找^以字母[:alpha:](大写或小写)开头且后跟任意数量+的字母的任何内容。
这会直接打印值,无需手动对数据进行子集化:
str_subset(df, "^[:alpha:]+")
[1] "test"
Run Code Online (Sandbox Code Playgroud)
通过手动子集设置:
df[str_detect(df, "^[:alpha:]+")]
[1] "test"
Run Code Online (Sandbox Code Playgroud)
或者
df[str_which(df, "^[:alpha:]+")]
[1] "test"
Run Code Online (Sandbox Code Playgroud)
保持向量结构完整:
str_extract(df, "^[:alpha:]+")
[1] NA NA NA NA "test" NA NA
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
740 次 |
| 最近记录: |