使用%in%来标识元素是否在df中



这是我的示例代码:

DF$Owner <- ifelse (ExcelData$Brand %in% Reference$Brand, Reference$Owner, "NULL")

基本上,我想做的是识别是否存在从ExcelDataReference的品牌。如果有,我会得到它的所有者

示例:在ExcelData中有一个品牌"Baja",在参考文件中也有一个"Baja’"品牌。现在有了%in%的逻辑,我应该得到品牌"Baja"的所有者,在本例中是"AMBC01",但运行代码时得到的所有者不同。现在我在想,也许我需要跟踪这一行或任何事情,以便为每个确定的品牌找到合适的所有者。

最好使用联接,而不是ifelse%in%。不同类型的联接将2列(或多个表(合并为一个表。根据你的描述,左加入似乎是可行的,请参阅下面的模拟和代码:

library(tibble)
library(tidyverse)
# Data simulation
excel_data <- tribble(~ brand, ~id,
"Baja", 1,
"Aumento", 4)
reference_data <- tribble(~brand, ~owner,
"Baja", "AMBC01",
"Aumento", "BMBC02",
"Azul", "CDCX03")
# Algorithm
left_join(excel_data, reference_data, by = "brand")

输出:

Joining, by = "brand"
# A tibble: 2 x 3
brand      id owner 
<chr>   <dbl> <chr> 
1 Baja        1 AMBC01
2 Aumento     4 BMBC02

相关内容

最新更新