我想在r中行绑定两个具有不同列的数据框,如bind_rows
。我尝试了与vcat
相同的问题:Julia相当于dplyr's bind_cols和bind_rows,但我得到了一个错误。下面是一些可复制的代码:
using DataFrames
df1 = DataFrame(a = 1, b = 1)
df2 = DataFrame(b = 1, c = 1)
vcat(df1, df2)
输出:
ArgumentError: column(s) c are missing from argument(s) 1, and column(s) a are missing from argument(s) 2
我不知道为什么会发生这个错误,因为在问题的答案中它确实有效。所以我想知道是否有人知道为什么这个错误发生,如果这是最好的方式来绑定两个数据框在朱莉娅?
出现错误是因为这些dataframe的列具有不同的名称(技术上讲,是属性)。使用cols=:union
关键字参数:
vcat(df1, df2, cols=:union)
# 2×3 DataFrame
# Row │ a b c
# │ Int64? Int64 Int64?
# ─────┼─────────────────────────
# 1 │ 1 1 missing
# 2 │ missing 1 1
union
保存列的并集。cols
有更多的选择。如果你感兴趣的话,可以在这里查看。