将数据帧中的每一行与 r 中另一个数据帧中的每一行进行匹配

KLM*_*117 0 r left-join dataframe

这可能是一个简单的问题,但我似乎找不到明显的解决方案。

我有两个数据框,df1 有 64 行,df2 有 662,343 行。我将 df1 连接到 df2,其中 df1 中的每一行都映射到 df2 中的每一行,这样我就有 42,389,952 行。df1 和 df2 可能分别如下所示:

df1: | 癌症 | 身份证 | |--------------------------------|--------------------| | 肉瘤 | 3435 | 3435 | 白血病 | 4465 | 4465

df2:

基因
TP53

新数据框:

癌症 ID 基因
肉瘤 3435 TP53
白血病 4465 TP53

预先感谢您的任何帮助!

Ani*_*yal 5

您可能full_join没有任何匹配的列。因此用于by = character()匹配列参数。演示

df <- data.frame(X = c(1, 2))

df2 <- data.frame(A = letters[1:3],
                  B = LETTERS[24:26])
df
#>   X
#> 1 1
#> 2 2
df2
#>   A B
#> 1 a X
#> 2 b Y
#> 3 c Z

dplyr::full_join(df2, df, by = character())
#>   A B X
#> 1 a X 1
#> 2 a X 2
#> 3 b Y 1
#> 4 b Y 2
#> 5 c Z 1
#> 6 c Z 2
Run Code Online (Sandbox Code Playgroud)

由reprex 包(v2.0.0)于 2021-06-26 创建