【发布时间】:2019-11-28 06:42:02
【问题描述】:
我想将b列表1中的某个值替换为b列表2中的值 IF a列表1中的值等于a列表2中的值.
我试过这个,但它给了我一个关于替换长度问题的错误
table1$b[is.na(match(table1$a,
table2$a))] <-
as.character(table2$b[match(table1$a,
table2$a)])
这是我正在处理的数据示例:
table1 <- data.frame (a =
c("OP2775iia","OP2775iib","OP2958i_a","OP2958i_b","OP2958iia"),
b = c(COM,NA,NA,NA,COM))
table2 <- data.frame (a = c("OP2775iib","OP2958i_b"),
b = c(SAV,PAV))
我想要一个输出,其中 table1 条目 'OP2775iib' 和 'OP2958i_b' 的 b 列值分别更改为 'SAV' 和 'PAV'。
【问题讨论】:
-
应该像
table1$b[table1$a == table2$a] <- table2$b[table1$a == tabel2$a]这样的东西,还是我错过了另一个要求?