【发布时间】:2018-12-18 12:43:16
【问题描述】:
我有两个数据框:
DF1:映射 - 两列
code | value
SDR111X | 10
DER333F | 15
DF2:数据 - 一列(我在脚本中添加了另外两列 - 如下)
string
AA.SDR111X AS SDR111X
AB.SDR111X AS SDR111X
DD.YRE999C AS YRE999C
目的是遍历 DF1,对于每一行,查看 DF2 并将 CODE 的 SECOND 匹配替换为 VALUE,我期望的结果:
string
AA.SDR111X AS 10
AB.SDR111X AS 10
DD.YRE999C AS YRE999C
此时我已经开始尝试解决需求的替换部分。
之后我会处理代码的迭代部分!
我尝试了以下但没有成功 - 代码运行正常,但没有更改任何值:
library(tidyverse)
data <- data
data <- data %>%
mutate(lhs = substr(X__1, 1, 14)) %>%
mutate(rhs = substr(X__1, 15, 200))
pattern <- "SDR111X"
replacement <- "10"
str_replace_all(data$rhs, pattern, replacement)
同样的事情发生在这里:
library(tidyverse)
data <- data
data <- data %>%
mutate(lhs = substr(X__1, 1, 14)) %>%
mutate(rhs = substr(X__1, 15, 200))
data <- data %>%
mutate(rhs1 = replace(rhs, rhs=="SDR111X", 10))
感谢您的帮助
【问题讨论】:
-
请使用
dput()函数提供数据(DF1中的|具有误导性)