【发布时间】:2018-01-24 18:24:44
【问题描述】:
在对两个数据框进行 tidyr 连接后,如何根据返回的原始数据框对返回的列进行排序?我在下面提出了几个解决方案。第一个感觉很笨拙。第二个可能不是好的做法。我想我错过了一些东西。
library(tidyverse)
a <- data_frame(x1 = LETTERS[1:3], x2 = 1:3)
b <- data_frame(x1 = LETTERS[c(1,2,4)], x3 = c(TRUE, FALSE, TRUE))
# Not the order I want
left_join(a, b, by = "x1")
# This is the order I want
a %>%
left_join(b, by = "x1") %>%
select(names(b), names(a)[!(names(a) %in% names(b))])
# This works too.
right_join(b, a, by = "x1")
【问题讨论】: