程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了merge 和 Reduce 是否做同样的事情并且 all=True 和 by 是否可以达到相同的目标大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决merge 和 Reduce 是否做同样的事情并且 all=True 和 by 是否可以达到相同的目标?

开发过程中遇到merge 和 Reduce 是否做同样的事情并且 all=True 和 by 是否可以达到相同的目标的问题如何解决?下面主要结合日常开发的经验,给出你关于merge 和 Reduce 是否做同样的事情并且 all=True 和 by 是否可以达到相同的目标的解决方法建议,希望对你解决merge 和 Reduce 是否做同样的事情并且 all=True 和 by 是否可以达到相同的目标有所启发或帮助;

我尝试将 4 个数据合并在一起。我试过 @H_430_3@merge 和 reduce。我想知道我是否以正确的方式使用它们。结果数据似乎相同。我需要第二眼来确保我没有做错。

这是我的代码:

我使用了合并:

SUB_counts <- as_tibble(merge(count_pts,count_SUB,all = TRUE,sort = falSE)) 
SUB_counts_Re <- as_tibble(merge(count_pts_Re,count_SUB_Re,sort = falSE)) 
SUB_counts_merge <- full_join(count_pts,by = "SUBCOD")

然后我也尝试了Reduce

test<-Reduce(function(x,y) merge(x,y,all=TRUE),List(count_pts,count_pts_Re,count_SUB_RE)) 

看起来像 test=SUB_counts_merge

有人能帮我更好地理解这两个吗?

  1. 当我们使用 all = TRUE 时,是否与使用 by = "SUBCOD" 相同?
  2. 当我们使用 Reduce 时,没有地方放置 'by`,我们怎么知道它们是使用正确的变量合并的?

非常感谢。

解决方法

是的,SUB_counts_mergetest 是一样的。

对于 SUB_counts_merge,您正在遵循流程:

a = 1 + 2
b = 3 + 4
c = a + b

而对于 test,您所遵循的过程是:

d = 1 + 2 + 3 + 4

很明显 cd 是一样的。但我们也看到,获得 d 的过程更加简单直接,无需任何中间变量。

回答您的问题:

  1. 当我们使用 all = TRUE 时,是否与 use by = "SUBCOD" 相同

不,它们不一样。如果您正在合并两个数据框 df1df2all = TRUE 用于指定 df1 中的所有行以及 df2 中的所有行都被保留。 by = "SUBCOD" 用于指定要合并的列。由于您没有在此处明确指定 by 参数,因此它将两个数据框中的公共列作为 by 值。此外,我建议您遵循基本 R 语法或 dplyr 任何您觉得方便的方法。 @H_430_3@merge 是一个基本的 R 函数,而 full_joindplyr。当您指定 all = TRUE 时,这是执行完全连接的基本 R 方式,而在 dplyr 中,我们使用 full_join

  1. 当我们使用 Reduce 时,没有地方放置 'by`,我们怎么知道它们是使用正确的变量合并的?

在普通的@H_430_3@merge中有一个地方。你可以这样做

test<-Reduce(function(x,y) merge(x,y,all=TRUE,by = "SUBCOD"),list(count_pts,count_SUB,count_pts_Re,count_SUB_RE)) 

大佬总结

以上是大佬教程为你收集整理的merge 和 Reduce 是否做同样的事情并且 all=True 和 by 是否可以达到相同的目标全部内容,希望文章能够帮你解决merge 和 Reduce 是否做同样的事情并且 all=True 和 by 是否可以达到相同的目标所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:bymerge