gpt4 book ai didi

r - 通过R中的4步以交替方式组合2个向量

转载 作者:行者123 更新时间:2023-12-03 21:49:18 24 4
gpt4 key购买 nike

我有两个相同长度的向量:

a = c(723, 680, 2392, 2063, 721, 746, 2053, 2129)
b = c(1, 2, 3, 4, 5, 6, 7, 8)

现在我想合并它们,但步长为 4 个元素,更准确地说,我想作为输出:

723 680 2392 2063 1 2 3 4 721 746 2053 2129 5 6 7 8

最佳答案

我们可以通过拆分来做到这一点。创建一个函数,使用 gl 创建一个分组变量,该变量以“n”为单位递增(此处 n 为 4),然后将两个向量拆分为一个 list,使用 Map 连接相应的 list 元素和 unlist list 以创建一个 vector

f1 <- function(x, n) split(x, as.integer(gl(length(x), n, length(x))))
unlist( Map(c, f1(a, 4), f1(b, 4)), use.names = FALSE)
#[1] 723 680 2392 2063 1 2 3 4
#[9] 721 746 2053 2129 5 6 7 8

或者如果长度相同,那么我们可以rbind 并在创建matrix 后连接

c(rbind(matrix(a, nrow =4), matrix(b, nrow = 4)))
#[1] 723 680 2392 2063 1 2 3 4 721 746 2053 2129 5 6 7 8

关于r - 通过R中的4步以交替方式组合2个向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63318228/

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