R 相对于其他两列值替换列中的值

R 相对于其他两列值替换列中的值,r,data-processing,R,Data Processing,现在我想做一个新的列“D” 例如,它根据A列和B列值替换值 我们可以使用chartr。通过粘贴键/值列,即“A”和“B”,为图表创建旧的和新的参数,并使用x作为“C”列,将“C”中与“A”匹配的子字符串替换为“B”的子字符串 C D a,b 1,6 c,b 5,6 b,c 6,5 a,d 1,3 数据 Data1现在,如果我们的A和B在同一个表中,但我们的C在不同的表中,那么这是否可能按照上述条件生成D列???因为我在这里使用()创建Data1,但

现在我想做一个新的列“D”

例如,它根据A列和B列值替换值


我们可以使用
chartr
。通过
粘贴
键/值
列,即“A”和“B”,为
图表创建
旧的
新的
参数,并使用
x
作为“C”列,将“C”中与“A”匹配的子字符串替换为“B”的子字符串

  C      D
 a,b    1,6
 c,b    5,6
 b,c    6,5
 a,d    1,3
数据
Data1现在,如果我们的A和B在同一个表中,但我们的C在不同的表中,那么这是否可能按照上述条件生成D列???因为我在这里使用()创建Data1,但当我尝试使用两个表时,哪个表名放在这个位置???使用(iab,chartr(粘贴(iab$id,collapse=“”),粘贴(iab$iab\u id,collapse=“”),Fin_Cat$category))图表中的错误(粘贴(iab$id,collapse=“”),粘贴(iab$iab_id,collapse=“”),:递减范围规格('2-1')仍然是相同的错误递减范围规格('2-1')@sahildesai,因此您的列必须是一个列表。
  C      D
 a,b    1,6
 c,b    5,6
 b,c    6,5
 a,d    1,3
Data1$D <- with(Data1, chartr(paste(A,collapse=""), paste(B,collapse=""), C))
Data1$D
#[1] "1,6" "5,6" "6,5" "1,3"
with(Data1, chartr(paste(A,collapse=""), paste(B,collapse=""), Data2$Col1))
#[1] "1,5" "6,3" "1,1" "1,5"
Data1 <- structure(list(A = c("a", "b", "c", "d"), B = c(1L, 6L, 5L, 3L
), C = c("a,b", "c,b", "b,c", "a,d")), .Names = c("A", "B", "C"
), class = "data.frame", row.names = c(NA, -4L))

Data2 <- data.frame(Col1 = c("a,c", "b,d", "a,a", "a,c"), stringsAsFactors=FALSE)