У меня есть два кадра данных Test и User.Быстрая петля в r
Испытание имеет 100 000 рядов, в то время как Пользователь имеет 1 400 000 рядов. Я хочу извлечь определенные векторы из фрейма данных пользователя и объединить это с кадром тестовых данных. Например, я хочу, чтобы доход и кошка выполнялись для каждой строки в тесте от пользователя. Строки в тесте состоят из повторяющихся элементов, и я хочу получить любое значение из файла пользователя. Я хочу сохранить тестовый файл без удаления дубликатов.
Пример для Названия A Доход 100, Кошка М & L. Поскольку М происходят сначала мне нужно М.
> Test
Name Income Cat
A
B
C
D
...
User Cat Income
A M 100
B M 320
C U 400
D L 900
A L 100
..
я использовал для цикла, но занимает много времени. Я не хочу использовать функцию слияния.
for (i in 1:nrow(Test)
{
{ Test[i,"Cat"]<-User[which(User$Name==Test[i,"Name"]),"Cat"][1]}
{ Test[i,"Income"]<-User[which(User$Name==Test[i,"Name"]),"Income"][1]}}
Я также использовал слияние, но общее количество для тестового файла составляет более 100 тыс. Строк. Это добавление дополнительных элементов.
Я хочу более быстрый способ сделать это, избегая цикла и слияния. Может ли кто-нибудь предложить какие-либо применения семейных функций.
Функции 'apply' семейства являются оболочками для петель. Если вы не хотите зацикливаться, вы не должны запрашивать решения с помощью * apply. – RHertel
Здравствуйте, Rhertel Спасибо за информацию, но как я могу использовать функции apply для решения вышеуказанной проблемы. – iamashish