Как скопировать точное совпадение из данных B в данные A в r
Допустим, у меня есть два кадра данных A и B.
products price
apple 3.0
orange 2.5
avocado 4.0
banana 2.5
blueberry 1.5
В
products Color price
banana Yellow NA
Apple Red NA
Avocado Green NA
Apricot Yellow NA
Мой вопрос заключается в том, какой самый быстрый способ извлечь цены на товары из данных A и сохранить их в данных B, поэтому результат будет таким
В
products Color price
banana Yellow 2.5
Apple Red 3.0
Avocado Green 4.0
Apricot Yellow NA
1 ответ
Если единственной разницей между продуктами в B и A является заглавная буква, то вы можете использовать следующее:
A = data.frame(products = c("apple", "orange", "avocado", "banana", "blueberry"),
price = c(3.0, 2.5, 4.0, 2.5, 1.5))
B = data.frame(products = c("banana", "Apple", "Avocado", "Apricot"),
color = c("Yellow", "Red", "Green", "Yellow"),
price = c(NA, NA, NA, NA))
for (i in 1:nrow(B)) {
B$price[i] = A$price[match(tolower(B$products[i]), A$products)]
}