% separate(Var2, c("p3", "p-6ren">
gpt4 book ai didi

r - 如何在向量集上展开.grid 而不是单个元素

转载 作者:行者123 更新时间:2023-12-01 03:33:18 26 4
gpt4 key购买 nike

所以,我有以下四个向量

a1 <- c(11, 12)
a2 <- c(21, 22)

b1 <- c(31, 32)
b2 <- c(41, 42)

最后我想要的是一个看起来像的数据框
  p1 p2 p3 p4
1 11 12 31 32
2 21 22 31 32
3 11 12 41 42
4 21 22 41 42

即两者的所有可能组合 a向量与两个 b向量。

我所做的是
ab <-  expand.grid(list(a1, a2), list(b1,b2))
ab.new <- ab %>% separate(Var1, c("p1", "p2"), sep = ",")
%>% separate(Var2, c("p3", "p4"), sep = ",")

我最终得到的是
    p1   p2   p3   p4
1 c(11 12) c(31 32)
2 c(21 22) c(31 32)
3 c(11 12) c(41 42)
4 c(21 22) c(41 42)

那些是什么 c(在那里做什么以及如何把它们弄出来?或者,我在使用 %>% 时做错了什么? ?

最佳答案

我们可以试试

do.call(cbind,lapply(expand.grid(list(a1, a2), list(b1,b2)),
function(x) matrix(do.call(c, x), 4, 2, byrow=TRUE)))
# [,1] [,2] [,3] [,4]
#[1,] 11 12 31 32
#[2,] 21 22 31 32
#[3,] 11 12 41 42
#[4,] 21 22 41 42

关于r - 如何在向量集上展开.grid 而不是单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36574264/

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