r - 考虑到以前的更改分配新 ID
问题描述
抱歉,我不知道如何正确命名我的问题。举个例子更容易理解。
示例数据
考虑以下示例。
> l_ids=as.data.frame(cbind(a=c("strong","intense","intensity"),
id=c("1","2","3"),new_id=c("","1","2")),stringsAsFactors = FALSE)
a id new_id
1 strong 1
2 intense 2 1
3 intensity 3 2
如果适用,我想用 更新每个id
单词。将其视为同义词词典。当我迭代时;a
new_id
new_id
> for (i in 1:nrow(l_ids)){
+ if (nchar(l_ids$new_id[i])>0){
+ l_ids$id[i]=l_ids$new_id[i]
+ }
+ }
> l_ids
a id new_id
1 strong 1
2 intense 1 1
3 intensity 2 2
问题是我也希望intensity
获得一个1
. 有没有办法做到这一点而不必多次迭代?
背景更新
我有一个文档,其中有一个同义词列表。这些是仅与问题的应用领域相关的同义词。例子:
> dictionary
good bad
1 strong intense
2 intense intensity
3 light soft
然后给我一个单词列表,每个单词都有一个给定的id
. 我的任务是检查这些单词中是否有任何单词在bad
列中dictionary
,如果是,则使用id
左侧单词的 更新它。可以看出,intensity
需要两个步骤才能成为strong
(good
字典中的一个词)。有没有办法做到这一点而不必进行多次迭代?(比如说,一个for
循环)
解决方案
推荐阅读
- maven - JHipster mnvw 命令抛出 org.apache.maven.lifecycle.LifecycleExecutionException
- intellij-idea - PhpStorm 中的 IdeaVim - 搜索实例的侧边栏“缺口”?
- python-3.x - TypeError:获取参数 None 的类型无效
在 tf.reduce_max(pred, axis=1).eval() - google-cloud-platform - 如何通过 python 客户端库启用 GCP API?
- regex - 在分隔符之间使用 CLRF 更正 .csv 文件
- file - 使用 Python 3.6 解析、编辑和保存 dhcpd.conf 文件
- java - ReactJS 和 Java:对预检请求的响应未通过访问控制检查
- angular - 从 API 值更改字体颜色时出现角度错误
- docker - 由于端口限制,无法构建 dockerfile
- linux - noob - 语法错误:重定向意外