gpt4 book ai didi

r - 在没有公共(public)变量的情况下执行 dplyr full_join 以混合数据帧

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

使用 dplyr full_join()操作,我正在尝试执行与基本 merge() 等效的操作不存在公共(public)变量的操作(无法满足“by=”参数)。这将混合两个数据框并返回所有可能的组合。

但是,当前 full_join()函数需要一个公共(public)变量。我无法找到另一个可以帮助解决此问题的 dplyr 函数。 如何使用特定于 dplyr 库的函数执行此操作?

df_a = data.frame(department=c(1,2,3,4))
df_b = data.frame(period=c(2014,2015,2016,2017))

#This works as desired
big_df = merge(df_a,df_b)

#I'd like to perform the following in a much bigger operation:
big_df = dplyr::full_join(df_a,df_b)

#Error: No common variables. Please specify `by` param.

最佳答案

您可以使用 crossing来自 tidyr :

crossing(df_a,df_b)

department period
1 1 2014
2 1 2015
3 1 2016
4 1 2017
5 2 2014
6 2 2015
7 2 2016
8 2 2017
9 3 2014
10 3 2015
11 3 2016
12 3 2017
13 4 2014
14 4 2015
15 4 2016
16 4 2017

关于r - 在没有公共(public)变量的情况下执行 dplyr full_join 以混合数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44833899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com