首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果字段A为空,且字段B包含某些部分字符串,则将word添加到字段A

如果字段A为空,且字段B包含某些部分字符串,则将word添加到字段A
EN

Stack Overflow用户
提问于 2021-10-19 19:49:21
回答 1查看 44关注 0票数 0

我有一个包含地理名称或短语(locality.curated)的字段的dataframe,还有一个对应的字段,其中包含了这些区域的缩写代码(转换),但是并不是所有的缩略语都被填充,有些是NA。我希望通过与locality.curated中的关键字匹配来添加转换字段的缩写,但如果转换字段已被占用,则不要覆盖它。

如果转换= NA和本地策划人=“特拉华州”,然后粘贴“美国”为策划人。

我已经尝试过各种ifelse的排列,但是如果不能正确的语法,或者,就像我下面的最新尝试一样,似乎没有修改dataframe。

代码语言:javascript
复制
if(is.na(test$convert) && grepl("Delaware", test$locality.curated, value=T)) {paste("USA", test$convert)}

虚拟数据,输入:

代码语言:javascript
复制
test <- data.frame(locality.curated=c("Canada to Delaware River", "California", "Delaware", "Wilmington Delaware", "Alaska"), convert=c("CAN","USA", "USA",NA,NA))

期望产出:

代码语言:javascript
复制
test.out <- data.frame(locality.curated=c("Canada to Delaware River", "California", "Delaware", "Wilmington Delaware", "Alaska"), convert=c("CAN","USA", "USA","USA",NA))

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-19 20:01:36

代码语言:javascript
复制
test$new <- ifelse(is.na(test$convert) & grepl(pattern = "Delaware", x = test$locality.curated),
       yes = "USA",
       no = test$convert)
1 Canada to Delaware River     CAN  CAN
2               California     USA  USA
3                 Delaware     USA  USA
4      Wilmington Delaware    <NA>  USA
5                   Alaska    <NA> <NA>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69636894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档