Мы можем сделать join
с data.table
on
в столбце «Валюты / CurrencyID» обоих наборов данных и создать столбец «Конвертировано», умножив «Значения» на «Спот». Создается новый столбец «Преобразовано» в наборе данных «A»
library(data.table)
setDT(A)[B, Converted := Values * Spot, on = .(Currencies = CurrencyID)]
A
# Values Currencies Converted
#1: 1000 EUR 1055.700
#2: 1213 USD 1187.042
#3: 5345 CHF 5345.000
#4: 2323 EUR 2452.391
data
A <- structure(list(Values = c(1000L, 1213L, 5345L, 2323L), Currencies = c("EUR",
"USD", "CHF", "EUR")), class = "data.frame", row.names = c("1",
"2", "3", "4"))
B <- structure(list(CurrencyID = c("EUR", "USD", "CHF"), Spot = c(1.0557,
0.9786, 1)), class = "data.frame", row.names = c("1", "2", "3"
))