r - 用一个特定的词替换整个字符串
问题描述
我在 df 中有这个专栏:
第 1 列 |
---|
今天晴天 |
天气晴朗 |
今天不是很晴 |
期望的输出
第 1 列 |
---|
晴天 |
晴天 |
不晴 |
df<-df%>%
mutate(column_1=case_when(
str_detect(column_1,"very sunny")~ "sunny",
str_detect(column_1,"sunny")~ "sunny",
str_detect(column_1,"not"&"sunny")~ " not sunny",
)
)
该代码适用于前两行,我们对第三行有更简单的条件,条件更复杂并给我一个错误。
我想确定该字符串中的一些关键字,它们不在一起(非常阳光)但它们是分开的(今天不是很阳光),并将它们作为提供所需输出的条件。也许我在语法上做错了什么。
解决方案
df$column2 <- sub('(not )?.*(sunny).*', '\\1\\2', df$Column1)
df
Column1 column2
1 very sunny day today sunny
2 it was sunny sunny
3 not very sunny today not sunny
推荐阅读
- python - ImportError:无法在 openpyxl.compat.numbers 中导入名称“NUMPY”
- javascript - 如何在异步更新时将 state 属性作为 prop 传递以显示和隐藏组件
- node.js - 基于布尔字段提升结果
- c - 初始化指向动态内存的全局指针时出错
- spring - Spring Boot 应用程序中的“java.lang.IllegalStateException:无法加载驱动程序类”
- ruby-on-rails - RoR:在 office365 中从模板创建 PowerPoint 演示文稿
- jquery - 我想从用户使用 jquery 填写的表单输入中动态更改按钮的值
- tornadofx - 父视图和子视图是否可以在初始化完成之前通过注入/查找相互引用?
- fortran - fortran中依赖于编译器的空指针问题
- c - 绑定到 INADDR_LOOPBACK 时“无法分配请求的地址”,但 INADDR_ANY 有效