【发布时间】:2021-06-01 22:34:06
【问题描述】:
我有
| col_a | col_c | |
|---|---|---|
| 1 | A | 01001 |
| 2 | B | 01002 |
| 3 | C | 01003 |
| 4 | D | 01004 |
| 5 | E | 01005 |
| 6 | F | 01006 |
我想要
| col_a | col_b | col_c | |
|---|---|---|---|
| 1 | A | A | 01001 |
| 2 | A | B | 01002 |
| 3 | A | C | 01003 |
| 4 | A | D | 01004 |
| 5 | A | E | 01005 |
| 6 | A | F | 01006 |
| 7 | B | A | 01001 |
| 8 | B | B | 01002 |
| 9 | B | C | 01003 |
| 10 | B | D | 01004 |
| 11 | B | E | 01005 |
| .. | .. | .. | |
| 24 | F | E | 01005 |
| 25 | F | F | 01006 |
我觉得这很简单,但现在是凌晨 4:30,我的大脑不再工作了,请帮忙。
我试过了
#Set up a fake key to join on (just a constant)
df <- df %>% mutate(k = 1)
#Perform the join, remove the key
main_df %>%
full_join(df, by = "k") %>%
select(-k)
我也试过
df <-
merge(
x = df,
y = df[, c("col_a",
"col_c")],
by.x = "a",
by.y = "a",
all = TRUE
)
df <-
merge(
x = df[, c("col_a",
"col_c")],
y = main_df,
by.x = "col_a",
by.y = "col_a",
all.x = TRUE
)
我已经尝试了上述解决方案的许多组合,而不仅仅是这里列出的那些。没用。
【问题讨论】: