当 A 列中的值与 R 中的第二个数据文件相遇时,提取 B 列的值

extract value of Column B when value in column A has met with second data file in R

我有两个数据文件。第一个是数据文件如下

Cars   Engine  Tires 
Audi    77       55
Volvo   99       45
BMW     66       99
Opel    34       56

第二个数据文件。第二个数据文件经常变化

Week27 
Car1      Car2
Audi      Volvo
Volvo     BMW
Opel      Audi

我想从相应的汽车中提取发动机值或轮胎值,并将它们与另一辆车进行比较。这每周都会更改,汽车的名称也会更改。 R 中是否有此代码。是否有一个函数可以快速执行此操作,然后只从 df1 中取出一个值,并使用它对应于 df2

中表示同一辆车的位置

我想在公式中使用这些值,这样就不会与汽车名称发生交互。我如何命令它按 Week27 数据文件的顺序排列,但使用文件 1

中的数据
(77+99)/77 
(99+66)/66
(34+77)/34

根据您的预期输出,您可以使用:

apply(Week27,1,function(x) with(df1, (Engine[Cars==x[1]] + Engine[Cars==x[2]])/Engine[Cars==x[1]] ))

[1] 2.285714 1.666667 3.264706

数据:

df1 <- read.table(text='Cars   Engine  Tires 
Audi    77       55
Volvo   99       45
BMW     66       99
Opel    34       56',header=T)

Week27 <- read.table(text='Car1      Car2
Audi      Volvo
Volvo     BMW
Opel      Audi',header=T)