我在这里为我的问题提供了一个最小的示例,我需要按ID图像合并两个数据帧

The dataframe1 is having the structure like this

image class type
img01 car   png
img02 bus   png
img03 bus   jpg
img04 car   bmp

The dataframe2 is as below

image class
img02 car
img03 bus
img04 bus

I want the dataframe as below:
image class type
img01 car   png
img02 car   png
img03 bus   jpg
img04 bus   bmp

推荐答案

这里有一个方法.在两个数据帧中创建索引,告诉图像id值匹配的位置.然后根据这些索引分配类.

x <- 'image class type
img01 car   png
img02 bus   png
img03 bus   jpg
img04 car   bmp'
dataframe1 <- read.table(textConnection(x), header = TRUE)
x <- 'image class
img02 car
img03 bus
img04 bus'
dataframe2 <- read.table(textConnection(x), header = TRUE)

i <- match(dataframe2$image, dataframe1$image) |> na.omit()
j <- match(dataframe1$image, dataframe2$image) |> na.omit()
dataframe1$class[i] <- dataframe2$class[j]
dataframe1
#>   image class type
#> 1 img01   car  png
#> 2 img02   car  png
#> 3 img03   bus  jpg
#> 4 img04   bus  bmp

reprex package(v2.0.1)于2022-07-29创建


上述代码的一个变体是

common <- intersect(dataframe2$image, dataframe1$image)
i <- match(common, dataframe1$image)
j <- match(common, dataframe2$image)
dataframe1$class[i] <- dataframe2$class[j]

reprex package(v2.0.1)于2022-07-29创建

R相关问答推荐

根据R中两个变量的两个条件删除带有dspirr的行

如何计算前一行的值,直到达到标准?

如何计算R数据集中每个女性的子元素数量?

如何使用按钮切换轨迹?

如何在emmeans中计算连续变量的对比度

如何将移除事件分配给动态创建的按钮?

如何在geom_col中反转条

标识R中多个列中缺少的唯一值

如何写商,水平线,在一个单元格的表在R

找出二叉树中每个 node 在R中的深度?

打印XTS对象

比较理论阿尔法和经验阿尔法

如何将Which()函数用于管道%>;%

R如何将列名转换为更好的年和月格式

将摘要图添加到facet_WRAP gglot的末尾

循环遍历多个变量,并将每个变量插入函数R

`-`是否也用于数据帧,有时使用引用调用?

为R中的16组参数生成10000个样本的有效方法是什么?

R-使用stri_trans_General()将其音译为德语字母

如何使用grepl()在数据帧列表中 Select 特定字符串?