R中两个表之间的特定值子集替换

卡卜克

我想用表b的表b中的值替换表1的b列中的某个值,如果a表1的值等于表2 a的值。

我尝试了这个,但是它给我关于替换长度问题的错误

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'。

马克在盒子里

这是使用的选项merge

table1 <- data.frame (a = c("OP2775iia","OP2775iib","OP2958i_a","OP2958i_b","OP2958iia"),
  b = c("COM",NA,NA,NA,"COM"), stringsAsFactors = F)

table2 <- data.frame (a = c("OP2775iib","OP2958i_b"),
  b = c("SAV","PAV"), stringsAsFactors = F)

names(table2) <- c("a", "b2")


(table3 <- merge(x = table1, y = table2, all.x = TRUE))
table3$bnew <- with(table3, ifelse(!is.na(b2), b2, b))
table3

#           a    b   b2 bnew
# 1 OP2775iia  COM <NA>  COM
# 2 OP2775iib <NA>  SAV  SAV
# 3 OP2958i_a <NA> <NA> <NA>
# 4 OP2958i_b <NA>  PAV  PAV
# 5 OP2958iia  COM <NA>  COM

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

替换两个特定词之间的某些值

查询以获取两个表之间的特定值

替换R中两个数据帧之间的值

n计算两个表中的值之间的差

如何计算R中特定观测值的两个变量之间的百分比?

如何在r的列中的两个特定字符值之间标记所有行?

R-如何在两个特定日期之间对表格进行子集化?

在R中合并两个df替换缺失值

MySql代码,用于返回两个表中特定日期的值,然后查找两个表之间的差异

在两个表之间,如何选择一个存在特定值的id的表,mysql

两个 df R 中的值之间的对应关系

子集两个变量的表以删除0值

SQL-有条件地联接和替换两个表之间的值

如何比较两个表并用其他表中的值替换空值

总结R中两个表的值

R:合并两个表但使用列子集

基于 R 中的两个变量和两个数据集替换值

Teradata - 两个表之间的连接 - 保留第一个表中的值

如何过滤包含R中数据框列表的特定模式的两个值之间的所有行?

如何在两个栅格(矩阵)之间替换值?

在没有循环的两个值之间替换 NA

如何替换python中两个大括号之间的值?

用两个值python之间的平均值动态替换列中的nan

减去特定列的值,其中两个表中特定列的值相同

在表的其他列中的值相同的列的两个值之间进行选择

在Numpy数组中的两个特定值之间更改值

如何创建一个表来计算R中两个单独表中的值之间的百分比变化?

从两个表中删除值

如何在R中的两个数据框之间查找和替换值