Я новичок в R и пытаюсь найти лучшее решение для эффективного выполнения этой довольно простой задачи.
У меня есть data.frame
M
со 100,000
строками (и многие столбцы, из которых 2 столбца относятся к этой проблеме, я назову M1
, M2
). У меня есть еще один data.frame
, где столбец V1
с около 10000 элементов имеет важное значение для этой задачи. Моя задача такова:
Для каждого элемента в V1
найдите, где он встречается в M2
и вытащите соответствующий M1
. Я могу сделать это, используя цикл for, и это ужасно медленно! Я привык к Matlab и Perl, и это всегда в R! Конечно, есть лучший способ. Буду признателен за любые ценные предложения по выполнению этой задачи ...
for (x in c(1:length(V$V1)) {
start[x] = M$M1[M$M2 == V$V1[x]]
}
Существует только 1 элемент, который будет соответствовать, и поэтому я могу использовать логический оператор, чтобы напрямую получить элемент в начальном векторе. Как я могу векторизовать это?
Спасибо!