我可以在R中交换两个不同的单元格数据吗



我在R中得到了两个数据帧。我想比较两个数据框架并更改单元格数据。

data1
a
b

我假设您使用两个数据帧:

df1 <- data.frame(col1 = c("a", "b"))
df1
#>   col1
#> 1    a
#> 2    b
df2 <- data.frame(data11 = c("c", "a"), data21 = c(1, 2))
df2
#>   data11 data21
#> 1      c      1
#> 2      a      2

如果使用ifelse(),则索引可能不正确(我们希望此处的结果为"2" "b"(:

ifelse(df1$col1 %in% df2$data11, df2$data21, df1$col1)
#> [1] "1" "b"

因此,您可以使用merge()来代替:

df3 <- merge(df1, df2, by.x = "col1", by.y = "data11", all.x = TRUE)
df3$data21 <- ifelse(is.na(df3$data21), df3$col1, df3$data21)
df3
#>   col1 data21
#> 1    a      2
#> 2    b      b

相关内容

  • 没有找到相关文章

最新更新