根据列名在 R 中附加数据框

Dar*_*n34 0 r dataframe

我对 R 比较陌生,所以请耐心等待。我有一个数据框列表,我需要将这些数据框合并到一个数据框中。所以:

  dfList <- list(
    df1 = data.frame(x=letters[1:2],y=1:2),
    df2 = data.frame(x=letters[3:4],z=3:4)
  )
Run Code Online (Sandbox Code Playgroud)

出来为:

$df1   
  x y
1 a 1
2 b 2

$df2
  x z
1 c 3
2 d 4
Run Code Online (Sandbox Code Playgroud)

我希望它们组合常见的列并添加任何尚未存在的内容。结果将是:

final result
  x y z
1 a 1
2 b 2
3 c   3
4 d   4
Run Code Online (Sandbox Code Playgroud)

这甚至可能吗?

div*_*san 5

是的,这很容易,实际上:

library(dplyr)
df_merged <- bind_rows(dfList)
df_merged

  x  y  z
1 a  1 NA
2 b  2 NA
3 c NA  3
4 d NA  4
Run Code Online (Sandbox Code Playgroud)

如果你不想NA在空单元格中,你可以像这样替换它们:

df_merged[is.na(df_merged)] <- 0  # or whatever you want to replace NA with
Run Code Online (Sandbox Code Playgroud)