Я хочу построить два фрейма данных и объединить их без использования какой-либо формы слияния (). Вместо этого мне нужно использовать операции множеств union () и match () или% в операторе%. В следующих выходных данных должно отображаться содержимое d1, d2 и результат объединения d1 и d2.
Я выяснил, как это сделать с помощью merge (), но я не могу выяснить, как это сделать с помощью union () и match () или оператора% in%. Или любой другой способ сделать это. Также мой вывод не совпадает с тем, что должен быть. Я начинающий, спасибо за вашу помощь.
d1.Kids <- c("Jack", "Jill", "Jillian", "John", "James")
d1.States <- c("CA", "MA", "DE", "HI", "PA")
d1 <- data.frame(d1.Kids, d1.States, stringsAsFactors = FALSE)
d2.Ages <- c(10, 7, 12, 30)
d2.Kids <- c("Jill", "Jillian", "Jack", "Mary")
d2 <- data.frame(d2.Ages, d2.Kids, stringsAsFactors = FALSE)
# Merging two created data frame
merge <- merge(d1, d2, by.x = "d1.Kids", by.y = "d2.Kids", all = TRUE)
print(merge)
Output should be:
kids ages states
1 Jack 12 CA
2 Jill 10 MA
3 Jillian 7 DE
4 John NA HI
5 James NA PA
6 Mary 30 NA