r语言 - 如何从两个大小不相等的向量制作数据框/tibble



我有两个向量:

a <- c("HMSC-ad", "HMSC-bm", "HMSC-he")
b <- c("distal", "proximal")

我想做的是创建以下 tibble/数据框:

  a      b 
HMSC-ad distal
HMSC-bm distal
HMSC-he distal
HMSC-ad proximal
HMSC-bm proximal
HMSC-he proximal

我试过这个,但失败了:

 > library(tidyverse)
 > as.tibble(list(a=a,b=b) )
 Error: Column `b` must be length 1 or 6, not 2

尝试expand.grid

a <- c("HMSC-ad", "HMSC-bm", "HMSC-he")
b <- c("distal", "proximal")
df1 <- expand.grid(a, b, stringsAsFactors = FALSE)

从 data.table 包中尝试 CJ(a, b)。

library(data.table)
CJ(a=a, b=b)

CJ代表"交叉加入",我相信这就是你所追求的。

最新更新