Я озадачен отсутствием эквивалента массива pop в R-кадрах данных.Я проверил dplyr, и ничего такого нет.
Вот кадр данных 1, который представляет собой не что иное, как слова, числа и групповое слово.Цель состоит в том, чтобы по порядку сопоставить вопросы из информационного кадра 2 с содержимым информационного кадра 1, останавливаясь, когда больше нет совпадений.
DF1
Word Volume Group
tuna 100 fish
tuna fish 90 fish
chicken eggs 90 eggs
ostrich eggs 80 eggs
DF2
Group_Word Question
fish how big is a tuna fish?
fish what's the best tasting tuna fish?
eggs how many eggs does a chicken lay per day?
eggs how to poach eggs?
eggs do eggs need to be refrigerated?
beef what's the best flavor of beef
dplyr left_join может показаться логичным выбором, но этоне работает, вместо этого выплевывая что-то, что больше похоже на полное объединение.
blendeddf <- left_join(DF1,DF2, by =c("Group" = "Group_Word"))
Это ожидаемый / ожидаемый результат:
DF1
Word Volume Group
tuna 100 fish how big is a tuna fish?
tuna fish 90 fish what's the best tasting tuna fish?
chicken eggs 90 eggs how many eggs does a chicken lay per day?
ostrich eggs 80 eggs how to poach eggs?
Это фактический результат:
Word Volume Group Question
1 tuna 100 fish how big is a tuna fish?
2 tuna 100 fish what's the best tasting tuna fish?
3 tuna fish 90 fish how big is a tuna fish?
4 tuna fish 90 fish what's the best tasting tuna fish?
5 chicken eggs 90 eggs how many eggs does a chicken lay per day?
6 chicken eggs 90 eggs how to poach eggs?
7 chicken eggs 90 eggs do eggs need to be refrigerated?
8 ostrich eggs 80 eggs how many eggs does a chicken lay per day?
9 ostrich eggs 80 eggs how to poach eggs?
10 ostrich eggs 80 eggs do eggs need to be refrigerated?
Если бы я делал это в PHP, это было бы array_match, а затем array_pop для удаления элементов (чтобы избежать повторения), но я понятия не имею, как это сделать в R. Что мне делать?
Код DPUT:
structure(list(Word = c("tuna", "tuna fish", "chicken eggs",
"ostrich eggs"), Volume = c(100L, 90L, 90L, 80L), Group = c("fish",
"fish", "eggs", "eggs")), class = "data.frame", row.names = c(NA,
-4L))
structure(list(Group_Word = c("fish", "fish", "eggs", "eggs",
"eggs", "beef"), Question = c("how big is a tuna fish?", "what's the best tasting tuna fish?",
"how many eggs does a chicken lay per day?", "how to poach eggs?",
"do eggs need to be refrigerated?", "what's the best flavor of beef"
)), class = "data.frame", row.names = c(NA, -6L))