gpt4 book ai didi

r - 合并列,按值对齐,当值不匹配时填充 NA

转载 作者:行者123 更新时间:2023-12-02 09:07:41 25 4
gpt4 key购买 nike

这非常困难。我尝试了 full_joinbind_cols 以及 merge 变体,但我无法完全让它工作。

我有:

> (t1 <- data.frame(x = letters[10:3], stringsAsFactors = FALSE))
x
1 j
2 i
3 h
4 g
5 f
6 e
7 d
8 c

和:

> (t2 <- data.frame(y = letters[1:4], stringsAsFactors = FALSE))
y
1 a
2 b
3 c
4 d

我认为我正在寻找的是某种类型的 full_join ,它保留两列并执行设置操作,因为我想返回此:

> data.frame(
+ x = c(letters[10:3], NA, NA),
+ y = c(NA, NA, NA, NA, NA, NA, letters[4:1])
+ )
x y
1 j <NA>
2 i <NA>
3 h <NA>
4 g <NA>
5 f <NA>
6 e <NA>
7 d d
8 c c
9 <NA> b
10 <NA> a

所以它就像一个full_join,但保留了两列并在存在差异的地方填充了NA。例如,这只给我一列:

> full_join(t1, t2, by = c("x" = "y"))
x
1 j
2 i
3 h
4 g
5 f
6 e
7 d
8 c
9 a
10 b

最佳答案

有点hacky,但是这个有效:

full_join(
left_join(t1, t2 %>% mutate(x = y)),
left_join(t2, t1 %>% mutate(y = x))
)

x y
1 j <NA>
2 i <NA>
3 h <NA>
4 g <NA>
5 f <NA>
6 e <NA>
7 d d
8 c c
9 <NA> a
10 <NA> b

关于r - 合并列,按值对齐,当值不匹配时填充 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56104286/

25 4 0
文章推荐: Ocaml 打印元组列表
文章推荐: c - 如何对 char 数组的数组使用指针?
文章推荐: html - 我可以用