У меня такой вопрос: есть два кадра данных с разными строками. Я хочу извлечь значения из "bb" в dfb в "bb" в dfa путем сопоставления поля "aa" в двух данных.
dfa <- data.frame(cbind(c(1,2,3,4,5), c(0,0,0,0,0)))
colnames(dfa) <- c("aa", "bb")
dfb <- data.frame(cbind(c(3,5,1), c(8,6,10)))
colnames(dfb) <- c("aa", "bb")
Результат dfa должен быть таким:
aa bb
1 10
2 0
3 8
4 0
5 6
В настоящее время я использую al oop, чтобы решить это следующим образом:
for (i in 1:nrow(dfa)) {
for (j in 1:nrow(dfb)) {
if(dfa$aa[i] == dfb$aa[j] ) {
dfa$bb[i] <- dfb$bb[j] }
}
}
Но у меня большие данные, поэтому они довольно медленные. Существуют ли какие-либо функции или прямые способы решения этой проблемы? Большое спасибо!