gpt4 book ai didi

R 如何以类似辫子的方式合并数据帧

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

假设我有 2 个数据框

dfA <- data.frame(x = rpois(10,2), y = rpois(10,2), z = rpois(10,2), q = rpois(10,2), t = rpois(10,2))
dfB <- data.frame(a = rpois(10,2), b = rpois(10,2), c = rpois(10,2), d = rpois(10,2), e = rpois(10,2))

通过常规的merge(dfA, dfB),我得到一个数据帧,其中的列按以下顺序排列:x,y,z,q,t,a,b,c,d,e

如何合并数据框以获得包含按以下顺序排列的数据框:

x、a、y、b、z、c、q、d、t、e

即。其中每个数据帧的第一列彼此相邻,然后是第二列,然后是第三列,依此类推。

最佳答案

一种选择是根据两个数据集连接的列的顺序来排序

out <- merge(dfA, dfB) 
out1 <- out[order(c(seq_along(dfA), seq_along(dfB)))]
names(out1)
#[1] "x" "a" "y" "b" "z" "c" "q" "d" "t" "e"

rbind列名称,然后将其强制为向量,以使其按matrix/data.frame中的自然列顺序折叠

out1 <- out[c(rbind(names(dfA), names(dfB)))]
names(out1)
#[1] "x" "a" "y" "b" "z" "c" "q" "d" "t" "e"

关于R 如何以类似辫子的方式合并数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794491/

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