r - 有条件地删除第一个字符
问题描述
> DF<-data.frame(id=c(1,1,2,3,3),code=c("DA","88","SE","NA","A"))
> DF
id code
1 1 DA
2 1 88
3 2 SE
4 3 NA
5 3 A
期望的输出:
id code code2
1 1 DA A
2 1 88 88
3 2 SE SE
4 3 NA NA
5 3 A A
>
code
如果它以 a 开头,我想删除第一个字母D
最佳 H
解决方案
我们可以使用匹配字符串str_remove
开头 ( ) 处的字母 'D'^
library(dplyr)
library(stringr)
DF %>%
mutate(code2 = str_remove(code, '^D'))
或base R
与sub
DF$code2 <- sub('^D', '', DF$code)
推荐阅读
- ios - WKWebView 仅显示苹果网站
- javascript - 在插入符号位置的 iframe 中插入图像
- elasticsearch - Elasticsearch edge_ngram token_chars 空格
- excel - 根据月份的日期将总和范围增加 1
- ruby-on-rails - 与命令行相比,ruby 中的新哈希声明返回语法错误
- angular - RxJS 在 subscribe 内部订阅,并在错误时执行操作
- cordova - 如何在 Cordova 应用程序中的每个导航上删除白屏
- java - HashMap 将消耗多少大小?
- elastic-stack - 如果使用 curl 将 ELK 安装在 docker 容器中,则删除旧的 Elasticsearch 索引
- python - Python 日志记录字符串不是格式化程序