如何从两个大小不等的向量制作数据帧/ tibble

时间:2017-10-24 04:13:58

标签: r dplyr tidyverse

我有两个向量:

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

2 个答案:

答案 0 :(得分:3)

尝试expand.grid

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

df1 <- expand.grid(a, b, stringsAsFactors = FALSE)

答案 1 :(得分:2)

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

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

CJ代表&#34;交叉加入&#34;我认为这就是你所追求的。